My Oracle Support Banner

OGG Integrated Replicat TRANSEXCEPTION Does Not Write Conflict Records To Exception Table Always (Doc ID 2291745.1)

Last updated on AUGUST 01, 2017

Applies to:

Oracle GoldenGate - Version 12.2.0.1.0 and later
Information in this document applies to any platform.

Symptoms

When you are using transexception in IR, and expect conflict transactions to be pushed to exception table but not all the exception records are correctly written into exceptional table , then this issue may have been encountered.

Test Case:  

replicat parameters:

REPERROR (default, transexception)
MAP hshi.test, target test.test comparecols(ON UPDATE ALL, ON DELETE ALL);
MAP hshi.test, target ogguser.gg_excpt_test
,EXCEPTIONSONLY
,INSERTALLRECORDS
,COLMAP ( usedefaults, table_name = @GETENV ('GGHEADER','TABLENAME')
,database_name = @GETENV('DBENVIRONMENT','DBNAME')
,rep_name = @GETENV ('GGHEADER','BEFOREAFTERINDICATOR')
,TRANSACTION_SCN = @GETENV('ORATRANSACTION','SCN'));

 

Source Table:
SQL> select * from hshi.test;
ID NAME CREATE_TM
---------- -------------------- ---------
1 AA 01-MAR-17
2 BB 28-FEB-17
3 CC 02-MAR-17

Target Table:
SQL> select * from test.test;
ID NAME CREATE_TM
---------- -------------------- ---------
1 NONE 03-MAR-17

SQL>truncate table ogguser.gg_excpt_test; -- clean up exception table first
.
SQL> begin
2 for i in 1 .. 10 loop
3 update hshi.test set name=i where id=2;
4 commit;
5 end loop;
6 end;
7 /

SQL> select id, name, REP_NAME from gg_excpt_test;
ID NAME REP_NAME
---------- -------------------- ------------------------------
2 1 BEFORE
2 2 AFTER
2 4 BEFORE
2 5 AFTER
2 7 BEFORE
2 8 AFTER

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.