- 论坛徽章:
- 0
|
创建golden gate用户
useradd gguser passwd gguser
编辑.bash_profile环境变量,新增下面内容: LD_LIBRARY_PATH=/home/gguser/gg:/opt/ibm/db2/V9.7/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
DB2INSTANCE=db2inst1 export DB2INSTANCE
LANG=zh_CN.GBK export LANG
安装golden gate软件
golden gate for db2 v9.7 on linux64 安装文件,注意对于不同的数据库有不同的安装文件。 ggs_Linux_x64_db297_64bit_v11_1_1_0_0_078.tar
将文件传至目标端,解压即可 tar -xvf ggs_Linux_x64_db297_64bit_v11_1_1_0_0_078.tar
在golden gate安装目录下执行下面命令,以将manager作为service //这样DOS窗口就不会停留在窗口 install addservice addevents
源端配置golden gate ./ggsci GGSCI (sourcedb1) 35>help //这里,必须是进入到golden gate软件安装目录下才可以执行help命令 GGSCI (sourcedb1) 35>create subdirs GGSCI (sourcedb1) 35>edit param mgr port 7839 --DYNAMICPORTLIST 7840-7860 此处已注释,需要的话可以打开,但要保证这些端口可用 AUTOSTART EXTRACT * AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 2 PURGEOLDEXTRACTS /home/gguser/gg/dirdat/ee*, USECHECKPOINTS, MINKEEPDAYS 2 LAGREPORTHOURS 1 LAGINFOMINUTES 30 LAGCRITICALMINUTES 45
配置需要捕获有数据变动的源表 GGSCI (sourcedb1) 35>dblogin sourcedb destination, userid db2inst1, password db2inst1 如果是正常登录数据库的话,会显示“Successfully logged into database.” 这里dblogin后面,除了ORACLE数据库之外,都需要跟sourcedb这个参数 GGSCI (sourcedb1) 35>add trandata db2inst1.TEST1 GGSCI (sourcedb1) 35>add trandata db2inst1.TEST2 正确情况下会显示“Logging of supplemental log data (include longvar) is enabled for table "DB2INST1"."TEST1"“
查询源表是否是golden gate捕获日志的表 GGSCI (sourcedb1) 35>info trandata db2inst1.TEST1
在源端建立抽取进程 GGSCI (sourcedb1) 35>add extract extkevin, tranlog, begin now
在源端配置本地trail文件 GGSCI (sourcedb1) 35>add exttrail /home/gguser/gg/dirdat/ee, extract extkevin, megabytes 50
配置extract参数 GGSCI (sourcedb1) 35>edit params extkevin extract extkevin dboptions NOCATALOGCONNECT, FETCHBATCHSIZE 1500 sourcedb destination, userid db2inst1, password db2inst1 exttrail /home/gguser/gg/dirdat/ee, megabytes 50 COMPRESSUPDATES GETTRUNCATES WILDCARDRESOLVE DYNAMIC TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT table db2inst1.TEST1; table db2inst1.TEST2;
在源端建立传送进程 GGSCI (sourcedb1) 35>add extract datapump, exttrailsource /home/gguser/gg/dirdat/ee
在源端配置trail文件传送至目标端地址 GGSCI (sourcedb1) 35>add rmttrail /home/gguser/gg/dirdat/ee, extract datapump
查看源端extract信息 GGSCI (sourcedb1) 36> info extract *
查看源端rmttrail信息 GGSCI (sourcedb1) 35> info rmttrail *
配置datapump参数 GGSCI (sourcedb1) 35>edit params datapump extract datapump sourcedb destination, userid db2inst1, password db2inst1 rmthost 172.16.36.21, mgrport 7839, compress rmttrail /home/gguser/gg/dirdat/ee SOURCEDEFS /home/gguser/gg/dirdef/db2test.def gettruncates wildcardresolve dynamic table db2inst1.TEST1; table db2inst1.TEST2;
至此源端的Goldengate 配置完毕!
目标端配置golden gate ./ggsci GGSCI (destination1) 1>help //这里,必须是进入到golden gate软件安装目录下才可以执行help命令 GGSCI (destination1) 1>create subdirs GGSCI (destination1) 1>edit param mgr port 7839 --dynamicportlist 7840-7850 purgeoldextracts /home/gguser/gg/dirdat/ee*,USECHECKPOINTS, MINKEEPDAYS 1 LAGREPORTHOURS 1 LAGINFOMINUTES 30 LAGCRITICALMINUTES 45
GGSCI (destination1) 1>edit params ./GLOBALS checkpointtable odsuser.ggchkptable
GGSCI (destination1) 1>dblogin sourcedb destination, userid odsuser, password odsuser GGSCI (destination1) 1>add checkpointtable odsuser.ggchkptable 在目标端建立复制进程 GGSCI (destination1) 1>add replicat repkevin, exttrail /home/gguser/gg/dirdat/ee, checkpointtable odsuser.ggchkptable
GGSCI (destination1) 1>edit params repkevin replicat repkevin targetdb destination, userid odsuser, password odsuser discardfile /home/gguser/gg/dirrpt/reptest.dsc, append, MEGABYTES 200 numfiles 1000 SOURCEDEFS /home/gguser/gg/dirdef/db2test.def dynamicresolution handlecollisions MAP db2inst1.TEST1, TARGET odsuser.TEST1, COLMAP (USEDEFAULTS, time = @GETENV ("GGHEADER", "COMMITTIMESTAMP"), date = @COLSTAT (NULL), operation = @GETENV ("GGHEADER", "OPTYPE") ); MAP db2inst1.TEST2, TARGET odsuser.TEST2;
启动源端和目标端所有进程 GGSCI (destination1) 1>start mgr GGSCI (destination1) 1>start replicat repkevin
GGSCI (sourcedb1) 35>start mgr GGSCI (sourcedb1) 35>start extract extkevin GGSCI (sourcedb1) 35>start extract datapump
在源端进行DML操作, 在目标端进行验证
配置初始化同步 源端 GGSCI (sourcedb1) 35>add extract einikk, sourceistable GGSCI (sourcedb1) 35>edit params einikk extract einikk sourcedb destination, userid db2inst1, password db2inst1 rmthost 172.16.36.21, mgrport 7839 rmttask replicat, group rinikk table db2inst1.TEST1; table db2inst1.TEST2;
目标端 GGSCI (destination1) 1>add replicat rinikk, specialrun GGSCI (destination1) 1>edit params rinikk replicat rinikk SOURCEDEFS /home/gguser/gg/dirdef/db2test.def targetdb destination, userid odsuser, password odsuser MAP db2inst1.TEST1, TARGET odsuser.TEST1, COLMAP (USEDEFAULTS, time = @GETENV ("GGHEADER", "COMMITTIMESTAMP"), operation = @GETENV ("GGHEADER", "OPTYPE") ); MAP db2inst1.TEST2, TARGET odsuser.TEST2;
这样配置就完成了,开始启动源端的init load的extract 则开始做初始化加载
GGSCI (sourcedb1) 4> start extract einikk GGSCI (sourcedb1) 4> view report einikk
GGSCI (destination1) 1> view report rinikk
def文件生成方法 GGSCI (sourcedb1) 4>edit params ./dirprm/defgen.prm DEFSFILE ./dirdef/db2test.def, PURGE sourcedb destination, userid db2inst1, password db2inst1 table db2inst1.TEST1; table db2inst1.TEST2;
defgen paramfile ./dirprm/defgen.prm reportfile ./dirrpt/defgen.rpt
如果在初始化同步的时候,中间有表因为map等问题报错,导致同步进程异常中断,可以这样处理
对于已经成功同步的表,将其从 rinikk 配置文件里面删除掉,然后继续同步剩下的表!
|
|