翻译本文时,是中国农历新年的大年初一(2017.01.28),已经放了好几天假了,也好几天不上MOS了,感觉心里不踏实,犹如电影"核艇风暴"中阿拉巴马号艇长Ramsey在潜艇下潜之前,在潜艇舰桥(潜艇围壳)上抽着雪茄对副艇长Hunter说:"没有雪茄的空气是不真实的",我觉得每天不登录MOS也是不真实的.
本文翻译自:How to re-position a Replicat in OGG v12c (Doc ID 2071941.1)
适用于:Oracle GoldenGate - Version 12.1.2.1.9 and later
Information in this document applies to any platform.
症状:
在OGG v12.x版本中,replicat进程不重新处理(译者注:此处的重新处理理解成重新应用比较合适)trail文件中已经应用过的record.
改变:
(译者注:无)
原因:
如果replicat进程重新定位到已经处理完毕的trail file,replicat进程不会重新应用这些数据--这是预期的行为,因为 COMMIT SCN 小于被replicat进程处理过的last record.
解决方案:
start <replicat-name> NOFILTERDUPTRANSACTIONS当replicat进程从0,0开始处理时,replicat进程正常使用CSN Filtering功能.当你改变replicat到之前应用过的record,并且使用start with nofilterduptransactions 来启动replicat时, replicat进程能按照预期(译者注:预期是指重新应用已经应用过的record)来处理record
译者注:
关于nofilterduptransactions
1.这是一个ggsci中start replicat命令中的一个参数,不是replicat进程的参数文件中的参数
2.该参数的含义见:http://docs.oracle.com/goldengate/c1221/gg-winux/GWURF/GWURF.pdf
3.该参数有如下的解释:
Causes Replicat to ignore transactions that it has already processed. Use when Extract was repositioned to a new start point (see the ATCSN or AFTERCSN option of “START EXTRACT”) and you are confident that there are duplicate transactions in the trail that could cause Replicat to abend. This option requires the use of a checkpoint table.If the database is Oracle, this option is valid only for Replicat in nonintegrated mode. In case of Integrated mode and automatic target trail file regeneration, the Integrated mode handles the duplicate transactions transparently. The default is FILTERDUPTRANSACTIONS
4.MOS中的相关参考文章:
Extract abending with OGG-01740 Oracle GoldenGate Capture For Oracle: Invalid Numeric Data (Doc ID 2208087.1)