Quickly enable active/active replication while ensuring consistent conflict-detection-resolution (CDR) without modifying application or database structure.
With auto CDR we can now configure and manage Oracle GoldenGate 12.3 to automate conflict detection and resolution when it is configured in Oracle Database 12c Release 2 (12.2) and later.
Auto CDR does not require application changes for the following reasons:
- Oracle automatically creates and maintains invisible timestamp columns enabled with DBMS_GOLDENGATE_ADM package.
- Inserts, updates, and deletes use a tombstone log table to determine if a row was deleted.
- BLOG and CLOB column conflicts can be detected, a huge improvement from prior CDR.
Auto CDR is currently (Jan 2019) only available to Oracle databases.
We use DBMS_GOLDENGATE_ADM package to enable and disable auto CDR.

Some examples on how to invoke the package:
Configuring Latest Timestamp Conflict Detection and Resolution for a Table
BEGIN
DBMS_GOLDENGATE_ADM.ADD_AUTO_CDR(
schema_name => 'hr',
table_name => 'emp');
END;
/
We can make the column visible with:
SQL>alter table hr.employees modify CDRTS$ROW visible;
Configuring Column GroupsBEGIN DBMS_GOLDENGATE_ADM.ADD_AUTO_CDR_COLUMN_GROUP( schema_name => 'hr', table_name => 'emp', column_list => 'job_id,department_id,manager_id', column_group_name => 'job_identifier_cg'); END; /Configuring Delta Conflict Detection and Resolution for a Table BEGIN DBMS_GOLDENGATE_ADM.ADD_AUTO_CDR( schema_name => 'oe', table_name => 'orders'); END; / BEGIN DBMS_GOLDENGATE_ADM.ADD_AUTO_CDR_DELTA_RES( schema_name => 'oe', table_name => 'orders', column_name => 'order_total'); END; /
Displaying Information About the Tables Configured for Conflict Detection and ResolutionCOLUMN TABLE_OWNER FORMAT A15 COLUMN TABLE_NAME FORMAT A15 COLUMN TOMBSTONE_TABLE FORMAT A15 COLUMN ROW_RESOLUTION_COLUMN FORMAT A25 SELECT TABLE_OWNER, TABLE_NAME, TOMBSTONE_TABLE, ROW_RESOLUTION_COLUMN FROM ALL_GG_AUTO_CDR_TABLES ORDER BY TABLE_OWNER, TABLE_NAME;
TABLE_OWNER TABLE_NAME TOMBSTONE_TABLE ROW_RESOLUTION_COLUMN
--------------- --------------- --------------- -------------------------
HR EMP DT$_EMP CDRTS$ROW
OE ORDERS DT$_ORDERS CDRTS$ROW
Removing Conflict Detection and Resolution for a Table BEGIN DBMS_GOLDENGATE_ADM.REMOVE_AUTO_CDR( schema_name => 'hr', table_name => 'emp'); END; / Removing a Column GroupBEGIN DBMS_GOLDENGATE_ADM.REMOVE_AUTO_CDR_COLUMN_GROUP( schema_name => 'hr', table_name => 'emp',column_group_name => 'job_identifier_cg');END; /
Reference and full details: https://goo.gl/7Vg1dN
Leave a reply to My Top 5 favorite GoldenGate 21c New Features – An Oracle Spin by Alex Lima Cancel reply