Considerations for using Oracle engines
What is the difference between the CDC Replication Engine for Oracle databases, the CDC Replication Engine for Oracle databases (Trigger edition), and the CDC Replication Engine for Oracle XStream?
The difference between engines is the way in which the CDC Replication engine captures data changes when the replication engine is a source datastore for one or more subscriptions:
- The CDC Replication Engine for Oracle databases reads the log files that the Oracle database generates whenever the database changes. These logs can be either online redo logs or archive logs.
- The CDC Replication Engine for Oracle databases (Trigger edition) does not access the database logs; it replicates data by configuring and invoking triggers on in-scope tables which populate "journal" tables in the Oracle database that contain the tables to be replicated. The CDC Replication Engine for Oracle databases (Trigger edition) periodically queries the journal tables, transmitting the captured change data to any target datastore.
- The CDC Replication Engine for Oracle XStream uses Oracle XStream API to capture changed data. CDC Replication uses JDBC to create and manage Oracle XStream components and uses an Oracle JDBC driver, XStream libraries, and their native binary dependencies to communicate with an Oracle XStream outbound server to receive XStream Logical Change Records (LCRs). CDC Replication adapts the LCRs to CDC Replication objects and distributes to target datastores based on the subscriptions and table mappings that you define in Management Console.
Table 1 compares the capabilities of the three Oracle replication engines.
| Capability | CDC Replication Engine for Oracle databases | CDC Replication Engine for Oracle databases (Trigger edition) | CDC Replication Engine for Oracle XStream |
|---|---|---|---|
| Source datastore | ✓ | ✓ | ✓ |
| Target datastore | ✓ | ✓ | ✓ |
| Dual datastore | ✓ | ✓ | ✓ |
| As source datastore, reads Oracle database log files | ✓ | ||
| Supports ASM configurations of Oracle | ✓ | ✓ | ✓ |
| Supports RAC configurations of Oracle | ✓ | ✓ | ✓ |
| As source datastore, requires an Oracle DBA to enable supplemental logging | ✓ | ✓ | |
| As a source datastore, supports local log reading, remote log reading or log shipping | ✓ | Not applicable; not required | Not applicable; not required |
| As a source datastore, creates triggers for in-scope tables | ✓ | ||
| As a source datastore, uses an API to obtain database changed data | ✓ | ||
| Requires an Oracle table space for product metadata | ✓ | ||
| Impacts source database | Low impact | Medium impact | Medium impact |
| Supports external refresh | ✓ | ✓ | ✓ |
| Provides direct mappings (standard replication, LiveAudit, Adaptive Apply, summarize data, consolidate data) | ✓ | ✓ | ✓ |
| Allows rules-based mappings (DDL replication) | ✓ | ||
| Replicates newly added table interval partitions automatically | ✓ | ✓ | |
| Detects newly added table columns and stops replication | ✓ (To resume, start mirroring.) |
✓ (To resume, change replication method to Refresh and then back to Mirror.) |
✓ (Ignore option is available as well.) |
| Can be installed on the same host as the Oracle database engine | ✓ | ✓ | ✓ |
| Can be installed on a separate host from the Oracle database engine | ✓ (Requires remote log reading or log shipping.) |
✓ | ✓ |
| Allows read-only connection to an Oracle database | ✓ | ||
| Can override MBCS | ✓ | ||
| Supports Oracle Transparent Data Encryption for Oracle 12c to Oracle 18c | ✓ (Requires the Oracle master key.) |
||
| Supports Oracle Transparent Data Encryption for Oracle 19c | ✓ | ✓ | |
| Suitable for billions of changes per day | ✓ | ||
| Suitable for millions of changes per day | ✓ | ✓ | ✓ |
Q: If I already have an instance of a CDC Replication Engine for Oracle databases, can I switch it to be an instance of CDC Replication Engine for Oracle databases (Trigger edition) or an instance of CDC Replication Engine for Oracle XStream?
A: No. Install the CDC Replication Engine for Oracle databases (Trigger edition) or CDC Replication Engine for Oracle XStream, create a new instance, and recreate the subscriptions.