GETREPLICATES | IGNOREREPLICATES
Valid For
Extract
Description
Use the GETREPLICATES
and IGNOREREPLICATES
parameters to control whether or not DML transactions issued by Replicat are captured or ignored by an Extract process that is processing the same tables on the same system.
Ignoring Replicat Transactions
By default, Extract uses a combination of IGNOREREPLICATES
and GETAPPLOPS
. In this configuration, Extract captures all application data that is configured for synchronization by Oracle GoldenGate, and it ignores all Replicat operations. In a bi-directional configuration, this prevents the data that Replicat applies from looping back to the original system, which would cause duplicate-record errors.
Capturing Replicat Transactions
Use GETREPLICATES
with IGNOREAPPLOPS
in a cascading configuration to enable replicated data to be captured again by Extract on an intermediary system so that it can be replicated to the final target. For example, if database A replicates to database B, and database B replicates to database C, you would use GETREPLICATES
for the Extract on database B.
Note:
Even with GETREPLICATES
in effect, however, you still can exclude specific replicated data from being captured by using a WHERE
or FILTER
clause in a TABLE
or MAP
statement.
Using GETREPLICATES and IGNOREREPLICATES with Oracle
The GETREPLICATES
and IGNOREREPLICATES
parameters should not be used if you are not using a trace table (the TRACETABLE
parameter). By default, Extract captures all transactions including transactions committed by Replicat. If you want to ignore the Replicat transactions, you should use the TRANLOGOPTIONS EXCLUDEUSER
parameter. You can also use this to ignore transactions by any specific user in addition to Replicat's user. TRANLOGOPTIONS EXCLUDETAG +
is a better method than using TRANLOGOPTIONS EXCLUDEUSER.
If you are using the TRACETABLE
parameter or have the default trace table, GGS_TRACE
, created without explicitly using TRACETABLE
, then Extract automatically ignores any transaction that has a TRACETABLE
update in it by default. If you want to capture the Replicat committed transactions, you have to specify GETREPLICATES
. In this case, Oracle does not recommend that you use it with TRANLOGOPTIONS EXCLUDUSER
because Replicat will have unpredictable behavior in transaction filtering.
Default
IGNOREREPLICATES
Syntax
GETREPLICATES | IGNOREREPLICATES