This document is an introduction to Oracle GoldenGate’s best practices and guidelines for configuring Oracle GoldenGate (OGG) in an active-active environment with DDL replication enabled while also using the built in functionality of DML Conflict Detection and Resolution (CDR). This document is intended for Oracle Database Administrators (DBAs), Oracle Developers with some basic knowledge of Oracle GoldenGate software product and Oracle GoldenGate administrators. The document is intended to be an introductory supplement to the existing series of documentation available from Oracle.
Oracle GoldenGate provides data capture from transaction logs and delivery for homogenous and heterogeneous databases and messaging systems. Oracle GoldenGate (OGG) provides a flexible, de-coupled architecture that can be used to implement virtually all database replication scenarios.
In an active-active replication environments where the occurrence of conflicts is possible during replication, it is highly desirable to have a conflict management scheme which is enforced as an exception rather than as a norm. Prior to OGG Version 11.2, the resolution if not the detection had to be handled with custom SQL code. Typically, the chances of conflicts occurring during replication are low and hence, checking for conflicts every time before a record is applied on the target is not efficient. However, at the same time it is highly important to ensure that when a conflicting scenario is encountered it is handled in the right manner.
DDL replication is generally not recommended to be setup where DDL is occurring actively on both the source and target database. There currently is no CDR functionality available for DDL. Therefore, DDL should either originate from only one of the systems at a time or DDL operations should not occur on the same objects when issued from the different systems. Otherwise, DDL conflicts could occur and will cause replication to fail due to DDL issues as well as potential DML replication issues.
The goal of this document is to illustrate a generic approach to configuring DDL in an active-active environment as well as enabling the built-in functionality of CDR for conflict detection and resolution of DML operations. By utilizing the built in functionality of CDR, the need for custom programming is reduced if not completely eliminated.
Below is the link to the MOS Document: