How to Handle OPEN TRANSACTIONS during INITIAL LOAD When Using Instantiation from Oracle Source Database (Doc ID 1347191.1)

Last updated on JANUARY 18, 2017

Applies to:

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

Goal

This article explains how to handle open transactions during initial load. The Instantiation from an Oracle Source Database is described in article : 1276058.1.

Below is the scenario where the open transaction (txn-2) , is neither included in the change synchronization extract nor by the export/rman. Time is indicated as T0, T1..etc.

T0 - open txn1,txn2 at scn:1
T1 - add change synchronization extract with 'begin now' at scn: 5 (It wont capture the tx1,tx2 even though tx's are committed after adding the extract because those were open txn's.)
T2 - open txn3 at scn:6
T3- commited txn1 at scn :8
T4 - start exp/rman with scn: 10
T5 - commited the txn2,txn3 at scn : 15
T6 - exp/rman finish with with scn:10 (this exp/rman won't capture the tx2,tx3)

Summary:
txn1 : won't be a problem as it is captured by export.
txn2 : is a problem
txn3 : won't be a problem as this txn is captured by extract and will be applied by replicat using aftercsn 10.

There may exist open transactions  like txn-2, which are started before adding capture extract and which continue to be open at the time of initiating the export/rman. If this type of transaction exists, it will not be replicated to the target.

Solution

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms