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.

Table 1. Capability comparison between CDC Replication Engine for Oracle databases, CDC Replication Engine for Oracle databases (Trigger edition), and CDC Replication Engine for Oracle XStream
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.