你好,游客 登录 注册 搜索
背景:
阅读新闻

GoldenGate更新丢失问题

[日期:2015-05-13] 来源:Linux社区  作者:Jet_Zhang [字体: ]

最近,在GoldenGate(11.2.1.0.1 for 10g)的目标库上发现一个很有趣但又很扰人的问题。事情是这样的,有用户反映说在目标库上的一张表上有两个字段(DZFAILFLAG,REMARK)的值与源库的不一致。

检查了一下源库与目标库的GoldenGate进程,两边都运行的很好,也没有报任何错误。查看了一下源库和目标库上那张表的记录数,两边的记录数是一样的,但确实有些记录的值是不一致的!而且当源库的记录数增加时,目标库的记录数也跟着相应增加:

源库:
11:17:37 SQL> SELECT COUNT(*) FROM LISDATA.LDCONTINVOICEMAP;
COUNT(*)
----------
980489
11:18:07 SQL> SELECT COUNT(*) FROM LISDATA.LDCONTINVOICEMAP;
COUNT(*)
----------
980490
11:18:43 SQL> SELECT COUNT(*) FROM LISDATA.LDCONTINVOICEMAP;
COUNT(*)
----------
980493
11:19:44 SQL> SELECT COUNT(*) FROM LISDATA.LDCONTINVOICEMAP;
COUNT(*)
----------
980498
目标库:
11:17:43 SQL> SELECT COUNT(*) FROM LISDATA.LDCONTINVOICEMAP;
COUNT(*)
----------
980490
11:18:53 SQL> SELECT COUNT(*) FROM LISDATA.LDCONTINVOICEMAP;
COUNT(*)
----------
980493
11:19:38 SQL> SELECT COUNT(*) FROM LISDATA.LDCONTINVOICEMAP;
COUNT(*)
----------
980498

也就是说复制进程是在工作的,而且工作的很正常!尝试对源库上的某条记录的DZFAILFLAG,REMARK进行更新,结果很让人失望,在目标库的这两个字段的值死活都不更新!考虑到这张表的记录还不算多,于是就对这张表重新进行了初始化。经过一番折腾,表终于重新初始化完成了,满怀着希望重新尝试对源库上的字段进行更新,结果让人抓狂,还是不更新!没办法,只能去分析一下trail文件,看看到底发生了什么事,用logdump打开相应的trail文件,定位到相应的位置:

2013/08/20 12:50:55.000.000 FieldComp Len 48 RBA 17500895
Name: LISDATA.LDCONTINVOICEMAP
After Image: Partition 4 G s
0000 0010 0000 000c 3330 3030 3030 3030 3130 3335 | ........300000001035
0001 0005 0000 0001 3100 0200 0f00 0000 0b38 3330 | ........1........830
3130 3030 3030 3032 | 10000002
Column 0 (x0000), Len 16 (x0010)
Column 1 (x0001), Len 5 (x0005)
Column 2 (x0002), Len 15 (x000f)

从trail的记录里可以看到,EXTRACT只抓取到了主键列(列0,1,2是这张表的主键),而要更新的那两列没有抓取到!试着重启了一下EXTRACT进程,结果更新就一切正常了!

了解到字段DZFAILFLAG,REMARK是前两天刚刚新增加的,而更新丢失恰恰就发生在这两个新增字段上。也就是说当对表增加新字段,如果不重启EXTRACT进程,就无法抓取到新的字段信息!这样的话,那如果使用GoldenGate的DDL复制功能,即使DDL复制工作正常,是不是应该也会碰到这样的问题?那GoldenGate的DDL的复制功能岂不成了摆设?已经开了SR给Oracle,不知道是不是GoldenGate的BUG。在这之前,各位在做DDL前,还是先把EXTRACT先停掉。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-05/117446.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款