暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle goldengate初始化

原创 剑小新 2020-02-20
828

初始化方式
测试1:无主键

源端:

ADD EXTRACT cdcext1, TRANLOG, BEGIN NOW ADD RMTTRAIL d:/oracle/ogg/dirdat/zz, EXTRACT cdcext1 EXTRACT cdcext1 SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) USERID goldengate, PASSWORD goldengate RMTHOST 134.178.1.140, MGRPORT 7809 RMTTRAIL d:/oracle/ogg/dirdat/zz TABLE gtj.t2;
复制

目标:

add replicat cdcrep1, exttrail d:/oracle/ogg/dirdat/zz nodbcheckpoint REPLICAT cdcrep1 HANDLECOLLISIONS ASSUMETARGETDEFS USERID goldengate, PASSWORD goldengate MAP gtj.t2, TARGET gtj.t2;
复制

源端:

start extract cdcext1
复制

源端开始跑循环:

begin for i in 90000..100000 loop insert into gtj.t2 values(i); commit; dbms_lock.sleep(0.5); end loop; end; /
复制

源端启动initial load:

start extract initext
复制

等目标load完成后:

目标:

start replicat cdcrep1
复制

源:ctrl+c停止循环
实际生产:追的差不多,开始停业务

最后查询是否一直

然后:
目标:send replicat cdcrep1, nohandlecollisions
最后再启动目标cdcrep1

测试2:有主键

truncate table gtj.t2; alter table gtj.t2 add primary key(id);
复制

初始数据就用循环重构:

begin for i in 1..89999 loop insert into gtj.t2 values(i); end loop; commit; end; / dblogin userid goldengate, password goldengate delete trandata gtj.t2 add trandata gtj.t2 alter cdcext1, begin now alter cdcrep1, begin now
复制

然后再按照测试1中的进行测试:
源端:

start extract cdcext1
复制

源端开始跑循环:

begin for i in 90000..100000 loop insert into gtj.t2 values(i); commit; dbms_lock.sleep(0.5); end loop; end; /
复制

源端启动initial load:

start extract initext
复制

等目标load完成后:

目标:

start replicat cdcrep1
复制

源:ctrl+c停止循环

3、目标端加上PK,再次执行,发现一致

4、最后关闭handlecollisions

stop cdcext1 stop cdcrep1 edit param cdcrep1 --注释handlecollisions
复制

再启动进程。

无需停止业务了。

最后修改时间:2020-02-20 10:51:55
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论