Subscribe to Posts by Email

Subscriber Count

    699

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

Pages

Example 9: Conflict Resolution & Skipping Transaction

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