In replication, one of the most important issue is conflict data and whenever the conflicts happen the replication stops and it will not proceed. Common cases of conflicts can be,
- No data found (ora-1403)
- Unique constraint errors
- primary key violations
We need to either fix the data (not the dba job should checked by business analysts), or skip the transactions.
In order to skip the transactions in goldengate in such scenario, the following methods can be used. Usually and generally replicat process will be in abended state when conflict arises.
- Using logdump
- Skiptranaction
- Handle collisions
- Exceptional handling
Using LogDump | ./logdump
open <trail file name> position <rba address> -> rba address can be found frm info replicat detail next (to skip to next record and note down the RBA) ./ggsci alter replicat rep_trg extrba <rba address> start replicat rep_trg |
Using Skip Transaction | ./ggsci
start replicat myload2 skiptransaction |
Using Handle Collisions Parameter | ./ggsci
send replicat rep_trg, HANDLECOLLISIONS or in replicat definition HANDLECOLLISIONS MAP test.myobj, TARGET test.myobj; Once the transaction is skipped or handled disable the handlecollisions send replicat rep_trg, NOHANDLECOLLISIONS or in replicat definition file NOHANDLECOLLISIONS MAP test.myobj, TARGET test.myobj; |
Using Exception Handling | |
Follow Me!!!