GoldenGate系列一:快速搭建单向同步GoldenGate环境
1、环境准备
(1)下载安装包并解压至ORACLE_BASE
(2)修改环境变更
[oracle@irms156ogg]$ vi ~/.bashrc exportPATH=$ORACLE_HOME/bin:/u01/app/ogg:$PATH
(3)创建子目录
[oracle@irms157 ogg]$ ggsci GGSCI (irms157) 1> create subdirs Creating subdirectories under currentdirectory /u01/app/ogg Parameter files /u01/app/ogg/dirprm: alreadyexists Report files /u01/app/ogg/dirrpt: created Checkpoint files /u01/app/ogg/dirchk: created Process status files /u01/app/ogg/dirpcs: created SQL script files /u01/app/ogg/dirsql: created Database definitions files /u01/app/ogg/dirdef: created Extract data files /u01/app/ogg/dirdat: created Temporary files /u01/app/ogg/dirtmp: created Stdout files /u01/app/ogg/dirout: created
注:建议所有Goldengate操作均在Goldengate安装目录下进行。
2、开启管理进程
(1)创建管理进程参数文件
GGSCI (irms156) 1> edit params mgr port 7809
(2)启动管理器
GGSCI(irms156) 2> start mgr Managerstarted. GGSCI(irms156) 3> info mgr Manager isrunning (IP port irms156.7809). GGSCI(irms156) 4> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING
3、在源端开启补充日志
(1)Oracle-specificinstallation steps
Thefollowing steps are only required when GoldenGate will be capturing data fromthe server. Therefore it is only needed when you are installing GoldenGate forOracle as your<source>environment.
[oracle@irms157 ogg]$ sqlplus /nolog SQL> conn / as sysdba Connected. SQL> alter database add supplementallog data; Database altered. SQL> alter system switch logfile; System altered.
(2)为具体模式对象开启补充日志(Add supplemental logging)
GGSCI (irms156) 9> dblogin useridsystem, password Lu123456; Successfully logged into database. GGSCI (irms156) 10> add trandatascott.emp; ERROR: No viable tables matchedspecification.(注意不要有分号) GGSCI (irms156) 11> add trandatascott.emp Logging of supplemental redo dataenabled for table SCOTT.EMP. GGSCI (irms156) 13> add trandata scott.salgrade 2013-05-14 14:29:47 WARNING OGG-00869 No unique key is defined for table'SALGRADE'. All viable columns will be used to represent the key, but may notguarantee uniqueness. KEYCOLS may beused to define the key. Logging of supplemental redo dataenabled for table SCOTT.SALGRADE. GGSCI (irms156) 14> add trandatascott.bonus 2013-05-14 14:30:12 WARNING OGG-00869 No unique key is defined for table 'BONUS'.All viable columns will be used to represent the key, but may not guaranteeuniqueness. KEYCOLS may be used todefine the key. Logging of supplemental redo dataenabled for table SCOTT.BONUS. GGSCI (irms156) 15> add trandatascott.dept Logging of supplemental redo dataenabled for table SCOTT.DEPT. GGSCI(irms156) 16> info trandata scott.emp Logging ofsupplemental redo log data is enabled for table SCOTT.EMP. Columnssupplementally logged for table SCOTT.EMP: EMPNO.
3、数据准备
(1)在目标端创建与源端一样的表
(2)把源端的初始数据导入至目标端
由于本实验采用scott模式,在每个oracle数据库均已默认安装,因此不再需要准备。第2步可使用datapump,goldengatedirect load, sql*loader等方法。
4、配置源端提取
(1)增加抽取组
GGSCI (irms156) 1> add extracteoragd, tranlog, begin now, threads 1 EXTRACT added. GGSCI (irms156) 2> info extracteoragd EXTRACT EORAGD Initialized 2013-05-1414:58 Status STOPPED Checkpoint Lag 00:00:00 (updated 00:00:13 ago) Log Read Checkpoint Oracle Redo Logs 2013-05-14 14:58:05 Thread 1, Seqno 0, RBA 0 SCN 0.0 (0) Log Read Checkpoint Oracle Redo Logs 2013-05-14 14:58:05 Thread 2, Seqno 0, RBA 0 SCN 0.0 (0)
(2)创建抽取进程参数文件
GGSCI (irms156) 3> edit params eoragd EXTRACT EORAGD USERID system, PASSWORD Lu123456 RMTHOST 10.252.48.155, MGRPORT 7809 RMTTRAIL ./dirdat/gd TABLE scott.emp; TABLE scott.dept; TABLE scott.salgrade; TABLE scott.bonus; (3)Define the GoldenGate trail add thetrail that will store the changes on the target. GGSCI (irms156) 8> add RMTTRAIL./dirdat/gd, EXTRACT EORAGD RMTTRAIL added. GGSCI(irms156) 9> info rmttrail * Extract Trail: ./dir/gd Extract: EORAGD Seqno: 0 RBA: 0 File Size: 5M (4)启动抽取进程并验证 GGSCI (irms156) 10> start extracteoragd Sending START request to MANAGER ... EXTRACT EORAGD starting GGSCI (irms156) 11> info extracteoragd, detail GGSCI(irms156) 12> view report eoragd
5、配置目标端检查点表
(1)配置全局参数文件并增加检查点表(checkpoint table)
GGSCI (irms155) 1> edit params./globals checkpointtablescott.ggschkpt
(2)激活GLOBALS参数文件
直接退出再进入ggsci即可生效。
GGSCI (irms155) 2> exit
(3)增加检查点表
GGSCI (irms155) 1> dblogin useridsystem, password Lu123456 Successfully logged into database. GGSCI (irms155) 3> addcheckpointtable scott.ggschkpt Successfully created checkpoint tablescott.ggschkpt.
6、配置目标端变更投递
(1)增加replicat组
GGSCI (irms155) 5> add replicatroranf, exttrail ./dirdat/gd, checkpointtable scott.ggschkpt REPLICAT added.
与源端的配置保持一致。
(2)创建replicat参数文件
GGSCI (irms155) 7> edit params roranf REPLICAT RORANF USERID system, PASSWORD Lu123456 HANDLECOLLISIONS ASSUMETARGETDEFS DISCARDFILE ./dirrpt/RORANF.DSC, PURGE MAP scott.emp, TARGET scott.emp; MAP scott.salgrade, TARGET scott.salgrade; MAP scott.bonus, TARGET scott.bonus; MAP scott.dept, TARGET scott.dept;
(3)启动replicat进程
GGSCI (irms155) 8> start replicatroranf Sending START request to MANAGER ... REPLICAT RORANF starting GGSCI (irms155) 9> info replicatroranf REPLICAT RORANF Last Started 2013-05-14 15:39 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:09 ago) Log Read Checkpoint File ./dirdat/nf000000 First Record RBA 0 GGSCI (irms155) 10> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING REPLICAT RUNNING RORANF 00:00:00 00:00:02