Oracle GoldenGate 安装配置windows32
Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程。
Oracle GoldenGate主要由如下一些组件组成:
● Extract ---提取
● Data pump ---ORALCE数据库泵
● Replicat
● Trails or extract files
● Checkpoints
● Manager ----管理服务
● Collector
Data Pump是一个次级的Extract Group,如果你的GG环境中不使用Data Pump的话,那么Primary Extract Group必须直接将trail通过网络写到Target系统上。配置Data Pump实现一对多拓扑方案。
对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数.否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到 GoldenGate运行节点.
GG中的相关进程
⊙Extract (source database)
⊙Replicat (target database)
⊙Manager (source database, if using DDL support)
⊙DEFGEN (source or target database)
对于Source Oracle Database要求
Ø 数据库处于归档模式下
Ø 打开补充日志
打开force logging
在GGSCI提示符下运行create subdirs
在配置GoldenGate环境时,刚开始的时候,我们总是需要先初始化把Source Database中需要复制的表的数据先load到目标库中,除非Source Database是一个新建的库或需要复制的对象中还没有任何数据。
环境:同一个数据库下的两个用户user_s,user_t,把S下的表,同步到T下面
源数据库用户USER_S下,新建一个表TEST_01,并事先插入一些数据
create table test_01 (id number ,name varchar2(100))
目标数据库USER_T下,新建一个表TEST_01,作为目标表,这个表不需要插入数据;
在源数据上配置管理进程MGR
在目标数据库上配置管理进程MGR
在source和target端检查管理进程是否启动
dblogin userid user_s,password user_s
在源数据库上增加需要传输的用户表
add trandata user_s.test_01
info trandata user_s.*
在源数据库上配置extract进程 Eora01
add extract eora01,sourceistable
info extract *, tasks
edit params eora01
userid user_s, password user_s
rmthost 192.168.1.100, mgrport 7809
rmttask replicat, group rora01
table user_s.*;
在目标数据库上配置replicat进程 Rora01
ADD REPLICAT Rora01, SPECIALRUN
INFO REPLICAT *, TASKS
EDIT PARAMS Rora01
REPLICAT Rora01
ASSUMETARGETDEFS
USERID user_t, PASSWORD "user_t"
DISCARDFILE ./dirrpt/Rora01.dsc, PURGE
MAP user_s.*, TARGET user_t.*;
在源数据库上执行初始化过程
在源数据上查看是否有报错
在目标数据上查看是否有报错
源数据库的修改实时同步到目标数据库
1、在源数据上配置extract捕获进程 EXT01
----捕获进程EXT01配置参数文件
>EDIT PARAMS EXT01
EXTRACT EXT01
USERID user_s, password user_s
EXTTRAIL ./dirdat/wm
--DDL
TABLE user_s.*;
---添加捕获进程EXT01
>ADD EXTRACT EXT01, TRANLOG, BEGIN NOW
(direct load方式:ADD EXTRACT EXT01, SOURCEISTABLE)
---添加队列文件,并将该队列文件指定给相应的捕获进程
>ADD EXTTRAIL ./dirdat/wm, EXTRACT EXT01, MEGABYTES 5
INFO EXTRACT EXT01, DETAIL
2、在源数据上配置pump传输进程 PUMP01
---传输进程PUMP01配置参数文件
>EDIT PARAMS PUMP01
EXTRACT PUMP01
PASSTHRU
RMTHOST 192.168.1.100, MGRPORT 7809
RMTTRAIL ./dirdat/wm
TABLE user_s.*;
---添加传输进程PUMP01,并指明它的源数据是刚才建立的队列文件./dirdat/et
>ADD EXTRACT PUMP01, EXTTRAILSOURCE ./dirdat/wm
----创建远程队列文件,并将其指定给传输进程PUMP01
>ADD RMTTRAIL ./dirdat/wm, EXTRACT PUMP01, MEGABYTES 5
3、在源数据库上启动data pump capture process
注意:在启动传输进程前,必须确保目标端的manager进程已经启动,否则会启动失败
>START EXTRACT EXT01
>START EXTRACT PUMP01
5、在目标数据库的全局文件中添加checkpoint表,用来实现一致性的
>EDIT PARAMS ./GLOBALS
CHECKPOINTTABLE user_t.GGS_CHECKPOINT
注意:要退出GGSCI命令行,再进入GGSCI命令行,使得全局文件生效。
6、目标数据库配置replicat进程 REP01
---配置复制进程REP01参数文件
>EDIT PARAMS REP01
REPLICAT REP01
USERID user_t, PASSWORD user_t
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/REP01.dsc, PURGE
MAP user_s.*, TARGET user_t.*;
---增加复制进程REP01,并指定存放的队列文件,CHECKPOINTTABLE实现一致性。
DBLOGIN USERID user_t, PASSWORD user_t
DBLOGIN USERID user_t, PASSWORD user_t
Successfully logged into database.
>ADD CHECKPOINTTABLE
>ADD REPLICAT REP01, EXTTRAIL ./dirdat/wm
---启动目标数据库的复制进程
>START REPLICAT REP01
GGSCI (target) 5> START REPLICAT REP01
结束了。。