当前位置:  数据库>oracle
本页文章导读:
    ▪【原创】GoldenGate 安装配置      » 作者:LSX» 原创文章版权归作者所有,未经作者同意请保留以下声明.» 本文链接:http://blog.lishixin.net/?p=1216» 转载请注明来源:LSX·Blog » 《【原.........
    ▪Oracle分配权限      以管理员身份登录数据库 创建用户:create user [username] identified by [password]; 赋予登录权限:grant create session to [username]; 赋予建表权限:grant create table to [username]; 赋予表空间使用权限:grant un.........
    ▪Oracle编程入门经典 第7章 表      表是在行和列中存储数据的基本结构。而且,就如同Oracle向数据库整体增加特性一样,随着时间失衡,它也增强了表的概念,以适应更加复杂的应用要求。在本章中,我们将要讨论:Oracle中最.........

[1]【原创】GoldenGate 安装配置
    来源:    发布时间: 2013-10-16
» 作者:LSX
» 原创文章版权归作者所有,未经作者同意请保留以下声明.
» 本文链接:http://blog.lishixin.net/?p=1216
» 转载请注明来源:LSX·Blog » 《【原创】GoldenGate 安装配置》

一、先决条件

尽量保证所有表都具有主键或者唯一索引,当然也可部分无伤大雅的表也可以没有,

但要保证表中可以确定出来一条唯一的记录。

二、数据库准备阶段

1、环境变量(源和目标都要)

####################################

export PATH

ORACLE_SID=test

ORACLE_BASE=/opt/app/oracle

ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1

PATH=$PATH:$ORACLE_HOME/bin

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH

export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH

export NLS_LANG="Simplified Chinese_china".ZHS16GBK

stty erase ^H

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

alias ggsci='rlwrap /opt/app/goldenGate/ggsci'

#####################################

2、需排除的表

#####################################

ST_USER_NAME

TEST

TMP_PROJECT_ID

TMP_TICKET_ID

3、无主键的表

####################################

M_MANAGER_ROLE

M_ROLE_AUTHORITY

####################################

4、需要同步的Schemas

####################################

TC258

PAYCENTRE

####################################

 

三、先决条件

1、确定归档模式已打开,如果没有打开按以下步骤进行(源和目标都要一样)

#########################################

mkdir /opt/app/oracle/oraArchive

sqlplus /nolog

conn /as sysdba

startup mount;

alter database archivelog;

alter system set log_archive_dest_1='location=/opt/app/oracle/oraArchive';

alter system set log_archive_dest_state_1=enable;

alter database open;

archive log list;

##########################################

2、开启最小日志功能

###########################################

##最小附加日志模式

##强制日志模式

##强制重做日志记录主键值

alter database add supplemental log data;

Alter database force logging;

alter database add supplemental log data (primary key,unique,foreign key) columns;

##以下是查询状态

select supplemental_log_data_min from v$database;

select force_logging from v$database;

select supplemental_log_data_min,supplemental_log_data_pk,

supplemental_log_data_ui from v$database;

############################################

四、安装GoldenGate

1、 下载GoldenGate

在以下地址下载对应版本

http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html

2、 创建GoldenGate安装目录

mkdir /opt/app/goldenGate/

3、 直接解压到压缩文件到/opt/app/goldenGate目录即安装完成

4、 配置GoldenGate(源与目标一样)

[oracle@oracle01 goldenGate]$ ./ggsci

GGSCI> CREATE SUBDIRS

GGSCI>edit param mgr

#######################

port 7801

dynamicportlist 7802-7820

AUTOSTART ER * ##在目标机器上面删除这一行

AUTORESTART ER *, RETRIES 4, WAITMINUTES 4

STARTUPVALIDATIONDELAY 5

PURGEOLDEXTRACTS /opt/app/goldenGate/dirdat/*, USECHECKPOINTS, MINKEEPHOURS 2

###########################

保存

GGSCI>exit

五、配置源GoldenGate

1、 配置提取进程(按scheams划分)

############################################

GGSCI>add extract tc258,tranlog,begin now

GGSCI>add extract pay,tranlog,begin now

############################################

GGSCI>edit param tc258

########################

extract tc258

userid system@test,password oracle

exttrail /opt/app/goldenGate/dirdat/la

dynamicresolution

gettruncates

tableexclude tc258.ST_USER_NAME;

tableexclude tc258.TEST;

tableexclude tc258.TMP_PROJECT_ID;

tableexclude tc258.TMP_TICKET_ID;

table tc258.*;

#########################

GGSCI>edit param pay

########################

extract pay

userid system@test,password oracle

exttrail /opt/app/goldenGate/dirdat/lb

dynamicresolution

gettruncates

table paycentre.*;

#########################

GGSCI>ADD EXTTRAIL /opt/app/goldenGate/dirdat/la, EXTRACT tc258

GGSCI>ADD EXTTRAIL /opt/app/goldenGate/dirdat/lb, EXTRACT pay

2、添加DataPump 进程

GGSCI>add extract P-tc258,exttrailsource /opt/app/goldenGate/dirdat/la,begin now

GGSCI>add extract P-pay,exttrailsource /opt/app/goldenGate/dirdat/lb,begin now

GGSCI>edit param p-tc258

###############################

extract p-tc258

userid system,password oracle

rmthost 192.168.242.137,mgrport 7801

rmttrail /opt/app/goldenGate/dirdat/ra

PASSTHRU

gettruncates

table tc258.*;

################################

GGSCI>edit param p-pay

###############################

extract p-pay

userid system,password oracle

rmthost 192.168.242.137,mgrport 7801

rmttrail /opt/app/goldenGate/dirdat/rb

PASSTHRU

gettruncates

table paycentre.*;

################################

2、 添加远端队列

GGSCI>add rmttrail /opt/app/goldenGate/dirdat/ra extract p-tc258

GGSCI>add rmttrail /opt/app/goldenGate/dirdat/rb extract p-pay

六、配置源expdp 数据泵(源与目标都要一样)

1、 创建目录

mkdir /opt/app/oracle/oraExpdp

2、 执行SQL

CREATE OR REPLACE DIRECTORY

EXPDP AS

'/opt/app/oracle/oraExpdp';

GRANT READ, WRITE ON DIRECTORY EXPDP TO SYSTEM WITH GRANT OPTION;

七、同步源数据库到目标数据库

1、 启动GoldenGate

GGSCI (oracle01) 2> start mgr

2、 查询SCN号

3、 备份Scheams数据

expdp system/oracle DIRECTORY=expdp DUMPFILE=export.dmp SCHEMAS=tc258,paycentre FLASHBACK_SCN=688187 LOGFILE=export.log

4、 上传到目标机器/opt/app/oracle/oraExpdp目录

scp /opt/app/oracle/oraExpdp/export.dmp oracle@192.168.242.137:/opt/app/oracle/oraExpdp/

5、 在目标创建相关的表空间

1、 TC258

CREATE TABLESPACE tc258_data LOGGING DATAFILE '/opt/app/oracle/oradata/test/tc258_data01.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

CREATE TEMPORARY TABLESPACE tc258_temp TEMPFILE '/opt/app/oracle/oradata/test/tc258_temp01.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

2、 PAYCENTRE Scheam

CREATE TABLESPACE PAYCENTRE_DATA DATAFILE '/opt/app/oracle/oradata/test/paycentre_data01.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

CREATE TEMPORARY TABLESPACE PAYCENTRE_TEMP TEMPFILE '/opt/app/oracle/oradata/test/paycentre_temp01.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

3、 执行导入操作

impdp system/oracle DIRECTORY=expdp DUMPFILE=export.dmp SCHEMAS=tc258,paycentre LOGFILE=export.log

八、配置目标服务器

1、 配置检查点

GGSCI (BakOracle) 1> dblogin,userid system password oracle

GGSCI (BakOracle) 2> add checkpointtable tc258.checkpoint

GGSCI (BakOracle) 3> add checkpointtable paycentre.checkpoint

GGSCI (BakOracle) 4> edit params ./GLOBALS

############ file

checkpointtable tc258.checkpoint

checkpointtable paycentre.checkpoint

############ end

2、 创建日志目录

mkdir /opt/app/goldenGate/dirlog/

3、 配置复制进程

add replicat tc258 exttrail /opt/app/goldenGate/dirdat/ra,begin now,checkpointtable tc258.checkpoint

add replicat pay exttrail /opt/app/goldenGate/dirdat/rb,begin now,checkpointtable paycentre.checkpoint

4、 编辑复制进程配置文件

GGSCI (BakOracle) 8> edit param tc258

########## file

replicat tc258

userid system@test,password oracle

assumetargetdefs

discardfile /opt/app/goldenGate/dirlog/repl-tc258.log,append,megabytes 100

gettruncates

map tc258.*, target tc258.*;

########## end

GGSCI (BakOracle) 9> edit param pay

######### file

replicat pay

userid system@test,password oracle

assumetar

    
[2]Oracle分配权限
    来源:    发布时间: 2013-10-16

以管理员身份登录数据库

创建用户:create user [username] identified by [password];

赋予登录权限:grant create session to [username];

赋予建表权限:grant create table to [username];

赋予表空间使用权限:grant unlimited tablespace to [username];

用户拥有建表权限,相应拥有增删查改权限

查看用户权限:select * from user_sys_privs;

撤销登录权限:revoke create session to [username];

撤销建表权限:revoke create table from [username];

撤销表空间使用权限:revoke unlimited tablespace from [username];

赋予所有用户建表权限:grant create session to public;

赋予用户当前表查询权限:grant select on [tablename] to [username];

赋予用户当前表所有权限:grant all on [tablename] to [username];

撤销用户当前表查询权限:revoke select on [tablename] from [username];

撤销用户当前表所有权限:revoke all on [tablename] from [username];

赋予用户当前表当前列更新权限:grant update ([column]) on [tablename] to [username];

赋予用户当前表当前列插入权限:grant insert ([column]) on [tablename] to [username];

系统权限传递:

grant alter table to [username] with admin option;

对象权限传递:

grant select on [tablename] to [username] with grant option;

------------------------------------------------------------------------------------

grant create session,create table,create view,create any index to [username];

grant unlimited tablespace to [username];

------------------------------------------------------------------------------------

本文链接


    
[3]Oracle编程入门经典 第7章 表
    来源:    发布时间: 2013-10-16

表是在行和列中存储数据的基本结构。而且,就如同Oracle向数据库整体增加特性一样,随着时间失衡,它也增强了表的概念,以适应更加复杂的应用要求。在本章中,我们将要讨论:

  • Oracle中最常用的表类型,以及用户为什么要使用各种类型。
  • 用户在Oracle中将会遇到的表特性,它们可以影响表的操作方式。
  • 怎样ALTER、DROP和TRUNCATE表
7.1          介绍Oracle中的表

在Oracle中,存储数据从没有如此容易或如此高效。除了对SQL优化器进行了改进外,数据库内核、数据库管理配置选项等也都得到了强化。Oracle已经发布了新类型的表,来适应各种类型的数据存储、数据访问以及性能要求。

对于所有类型的表,Oracle都允许开发人员和管理员规定各种表属性,它们会确定如下内容:

  • 哪一个表空间包含表
  • Oracle怎样将表物理存储在磁盘上
  • 当从磁盘读取表数据的时候,Oracle怎样将它们与内存映射
  • Oracle怎样控制表上特定操作的日志

新的表类型还能够在开发和管理解决方案的时候节省用户时间。随着用户掌握不同类型的可用表,用户将会发现这些表可以满足那些使用堆存储的标准表之外的要求。这些要求过去通常要由处理问题的开发人员/或者管理员使用其它方式解决,但是因为Oracle的新表类型将会处理这些问题,所以就可以省去这些工作。

7.2          表类型

7.2.1   堆表

最基本的表类型就是堆表(Heap table)。术语堆是指数据在磁盘上随机存储的方式。一般来说,Oracle在将行写入数据块的时候不会考虑其它的行的存储位置。当向堆表插入行的时候,数据库会将数据写入第一个具有足够自由空间的段。当更新和删除行的时候,就会为新的插入提供可用空间。

为了展示堆表,我们将要模型化一个主要涉及信息技术领域的公司的培训和教育部门。

试验:建立堆组织的表

(1)      我们将要建立的第一个是SUBJECTS,它给出了培训部门将要教授的课程类别。

SQL> create table subjects(
2 subject_id number not null,
3 subject_name varchar2(30) not null,
4 description varchar2(4000)
5 )
6 tablespace users
7 /
表已创建。

就如用户所见,我们已经建立了3列,名称分别为SUBJECT_ID、SUBJECT_NAME、DESCRIPTION。这些列分别具有数据类型NUMBER、VARCHAR2(30)和VARCHAR2(4000)。注意,要使用NOT NULL子句来确保SUBJECT_ID和SUBJECT_ANME具有值。

(2)      现在已经建立SUBJECTS表,我们将要使用ALTER TABLE命令,使SUBJECT_ID列成为主键:

SQL> alter table subjects
2 add constraint pk_subjects
3 primary key(subject_id)
4 /
表已更改。

 

(3)      建立了SUBJECTS表之后,我们将会继续建立一个COURSES的子表,它将会存储SUBJECTS表中各个学科的课程。

SQL> create table courses(
2 course_id number not null,
3 course_name varchar2(60) not null,
4 subject_id number not null,
5 duration number(2),
6 skill_lvl varchar2(12) not null
7 )
8 tablespace users
9 /
表已创建。

在这个例子中,我们已经建立了COURSES列的数据类型。

(4)      现在我们需要定义约束。

SQL> alter table courses
2 add constraint pk_courses
3 primary key(course_id)
4 /
表已更改。

其次,我们希望COURSES的SUBJECT_ID列能够成为引用SUBJECTS表的外键:

SQL> alter table courses
2 add constraint fk_course_subj
3 foreign key(subject_id) references subjects(subject_id)
4 /
表已更改。

最后,我们想要在SKILL_LVL列上实现一个检查约束,以确保各行中这个列的唯一可能值是BEGINNER、INTERMEDIATE或ADVANCED;

SQL> alter table courses
2 add constraint ck_level check(
3 skill_lvl in(
    
最新技术文章:
▪current online redo log缺失后的恢复
▪ORA-600 2662错误解决实例
▪ORA-00600 2662错误解决方法
▪Oracle Hidden Parameter:_allow_resetlogs_corruption
▪Oracle诊断事件列表
▪Oracle 隐含参数 _disable_logging 详解
▪ORA-00600 [2662]错误解决过程
▪Oracle里常见的执行计划
▪Oracle里另外一些典型的执行计划
▪Oracle服务器自动备份
▪Oracle固定SQL的执行计划(一)---SQL Profile
▪Oracle固定SQL的执行计划(二)---SPM
▪同一环境下新建Standby RAC库
▪Oracle快速克隆安装
▪Oracle单实例启动多个实例
▪Oracle的PLSQL别名中文出现乱码解决方法
▪ORA-00379: no free buffers available in buffer pool DEFAULT ...
▪RMAN-06023: no backup or copy of datafile 16 found to restor...
▪RMAN还原数据库报错问题解决案例
▪OEL6.8_X86平台部署Oracle 10gR2检测失败问题
▪Oracle 性能优化建议
▪Oracle SQL语句优化心得
▪Oracle慢SQL监控脚本实现
▪Oracle dblink 查询 tns:无法解析指定的连接标识...
▪Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结...
▪Linux6.6及以上版本配置Oracle ASM共享储存-UDEV
▪Oracle 12C 开启数据库归档模式
▪Solairs系统中配置Oracle 12c 开机启动
▪重建DBMS_STATS解决ORA-31626 ORA-21633以及ORA-04063 ORA...
▪Oracle ASMM 与AMM之间相互切换
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,