免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1829 | 回复: 0
打印 上一主题 下一主题

golden gate配置范例,源端和目标端都是db2数据库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:48 |只看该作者 |倒序浏览
创建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 配置文件里面删除掉,然后继续同步剩下的表!


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP