一:背景
sql server数据库版本2008,使用微软官方的sql server数据库同步工具做同步时同步任务经常会卡死,每次都需要花费大量的时间处理,影响公司业务,且针对2008版本的数据库同步工具找不到技术支持,难以排查原因,此时需要寻找一个稳定高效的数据库同步工具,后选定使用Oracle GoldenGate,经过长达半年的使用,Oracle GoldenGate完美的完成了数据库同步任务,实时率高,还未出现一次同步任务卡死的情况。
二:如何配置使用Oracle GoldenGate
1:源端mgr配置
port 2000
dynamicportlist 2001-2005
AUTOSTART EXTRACT EXT_1
AUTORESTART EXTRACT EXT_1, RETRIES 3, WAITMINUTES 2, RESETMINUTES 10
AUTOSTART EXTRACT PUM_1
AUTORESTART EXTRACT PUM_1, RETRIES 3, WAITMINUTES 2, RESETMINUTES 10
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 10
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
2:源端数据抽取进程配置
EXTRACT ext_1
sourcedb DSN001 userid sa, password 123
DISCARDFILE ./dirrpt/ext_1.dsc,APPEND,MEGABYTES 1024
EXTTRAIL ./dirdat/zl
table dbo.tb_bill;
3:源端数据投递进程配置
EXTRACT pum_1
PASSTHRU
RMTHOST 192.168.0.159, MGRPORT 2000
RMTTRAIL ./dirdat/zl
table dbo.tb_bill;
4:目标端mgr配置
port 2000
dynamicportlist 2001-2005
AUTOSTART REPLICAT REP_1
AUTORESTART REPLICAT REP_1, RETRIES 3, WAITMINUTES 2, RESETMINUTES 10
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 10
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
5:目标端接收进程配置
REPLICAT rep_1
targetdb DSN001 userid sa, password 123
handlecollisions
MAXTRANSOPS 10000
DISCARDFILE ./dirrpt/REP_1.dsc, PURGE
MAP dbo.tb_bill, target dbo.tb_bill;
三:其它注意事项
如果使用基于cdc做数据同步的Oracle GoldenGate版本,需要开启表级别的CDC,同时需要修改数据库兼容级别为100,另外要配置oracle goldengate来管理cdc clean up job
四:其它碰到的一些问题欢迎留言交流,或者需要技术支持加:zjbaicy