HANDLECOLLISIONS 是一个 replicat 进程参数,主要在 initial load 中使用。
在 replicat 进程中使用该参数时,即使目标数据库环境中存在数据完整性问题(如 update、delete 操作遇到缺失行或重复的插入操作),
replicat 进程仍然能够继续处理 trail 中的数据。
如果使用了 HANDLECOLLISIONS 参数,则 replicat 进程将按如下方式处理数据:
Missing updates are ignored.
Missing deletes are ignored.
Duplicate inserts are turned into updates.
如果要使用 HANDLECOLLISIONS 参数,只需在 replicat 进程参数文件中加入该参数,然后重启 replicat 进程即可生效。
--如果不使用此参数,双方表不一致,会出现进程挂起,如下的出错:
2013-08-29 15:40:33 WARNING OGG-00869 Oracle GoldenGate Delivery for Oracle, rep1.prm: OCI Error ORA-00001: unique constraint (TEST.SYS_C0011221) violated (status = 1). INSERT INTO "TEST"."TEST1" ("AA") VALUES (:a0).
2013-08-29 15:40:33 WARNING OGG-01004 Oracle GoldenGate Delivery for Oracle, rep1.prm: Aborted grouped transaction on 'TEST.TEST1', Database error 1 (OCI Error ORA-00001: unique constraint (TEST.SYS_C0011221) violated (status = 1). INSERT INTO "TEST"."TEST1" ("AA") VALUES (:a0)).
2013-08-29 15:40:33 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rep1.prm: Repositioning to rba 1426 in seqno 2.
2013-08-29 15:40:33 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rep1.prm: Repositioning to rba 1426 in seqno 2.
2013-08-29 15:40:33 ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, rep1.prm: Error mapping from TEST.TEST1 to TEST.TEST1.
2013-08-29 15:40:33 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep1.prm: PROCESS ABENDING.
###################
2013-08-29 15:29:39 INFO OGG-00996 Oracle GoldenGate Delivery for Oracle, rep2.prm: REPLICAT REP2 started.
2013-08-29 15:29:39 WARNING OGG-01004 Oracle GoldenGate Delivery for Oracle, rep2.prm: Aborted grouped transaction on 'TEST.TEST1', Database error 1403 (OCI Error ORA-01403: no data found, SQL <DELETE FROM "TEST"."TEST1" WHERE "AA" = :b0>).
2013-08-29 15:29:39 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rep2.prm: Repositioning to rba 1018 in seqno 0.
2013-08-29 15:29:39 WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, rep2.prm: SQL error 1403 mapping TEST.TEST1 to TEST.TEST1 OCI Error ORA-01403: no data found, SQL <DELETE FROM "TEST"."TEST1" WHERE "AA" = :b0>.
2013-08-29 15:29:39 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rep2.prm: Repositioning to rba 1018 in seqno 0.
2013-08-29 15:29:39 ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, rep2.prm: Error mapping from TEST.TEST1 to TEST.TEST1.
2013-08-29 15:29:39 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep2.prm: PROCESS ABENDING.