- Oracle GoldenGate Microservices Documentation
- Administer
- Error Management
- Manual Conflict Detection and Resolution
- Configuring the Oracle GoldenGate Parameter Files for Error Handling
Configuring the Oracle GoldenGate Parameter Files for Error Handling
Manual CDR should be used in conjunction with error handling to capture errors that were resolved and errors that CDR could not resolve.
- Conflict resolution is performed before these other error-handling parameters:
HANDLECOLLSIONS
,INSERTMISSINGUPDATES
, andREPERROR
. Use theREPERROR
parameter to assign rules for handling errors that cannot be resolved by CDR, or for errors that you do not want to handle through CDR. It might be appropriate to haveREPERROR
handle some errors, and CDR handle others; however, ifREPERROR
and CDR are configured to handle the same conflict, CDR takes precedence. TheINSERTMISSINGUPDATES
andHANDLECOLLISIONS
parameters also can be used to handle some errors not handled by CDR. See the Parameters and Functions Reference for Oracle GoldenGate for details about these parameters. - (Optional) Create an exceptions table. When an exceptions table is used with an
exceptions
MAP
statment, Replicat sends every operation that generates a conflict (resolved or not) to the exceptionsMAP
statement to be mapped to the exceptions table. Omit a primary key on this table if Replicat is to processUPDATE
andDELETE
conflicts; otherwise there can be integrity constraint errors.At minimum, an exceptions table should contain the same columns as the target table. These rows will contain each row image that Replicat applied to the target (or tried to apply).
In addition, you can define additional columns to capture other information that helps put the data in transactional context. Oracle GoldenGate provides tools to capture this information through the exceptions
MAP
statement. Such columns can be, but are not limited to, the following:-
The before image of the trail record. This is a duplicate set of the target columns with names such as
col1
_before,col2
_before, and so forth. -
The current values of the target columns. This also is a duplicate set of the target columns with names such as
col1
_current,col2
_current, and so forth. -
The name of the target table
-
The timestamp of the conflict
-
The operation type
-
The database error number
-
(Optional) The database error message
-
Whether the conflict was resolved or not
-
- Create an exceptions
MAP
statement to map the exceptions data to the exceptions table. An exceptionsMAP
statement contains:-
(Required) The
INSERTALLRECORDS
option. This parameter converts all mapped operations toINSERT
s so that all column values are mapped to the exceptions table. -
(Required) The
EXCEPTIONSONLY
option. This parameter causes Replicat to map operations that generate an error, but not those that were successful. -
(Optional) A
COLMAP
clause. If the names and definitions of the columns in the exceptions table are identical to those of the source table, and the exceptions table only contains those columns, noCOLMAP
is needed. However, if any names or definitions differ, or if there are extra columns in the exceptions table that you want to populate with additional data, use aCOLMAP
clause to map all columns.
-