Skip to main content

Architecture Overview

oracdc provides three source connectors for capturing changes from Oracle databases. Each uses a different approach to reading change data.

Class: solutions.a2.cdc.oracle.OraCdcRedoMinerConnector

RedoMiner reads changes directly from Oracle redo log files without using any additional software installed on the database server or in the Oracle database itself. We recommend RedoMiner because:

  • It uses the database only to read table column information and determine the current SCN, eliminating additional CPU and IO load
  • It does not create any objects in the database
  • It does not require any additional software on the database server
  • It works with various database configurations, including Oracle RAC
  • It uses streaming data transfer via SSH, SMB, BFILENAME, or direct ASM access
  • It processes and transforms data without involving the database server (including XMLTYPE, JSON, VECTOR)
  • It works with minimal SUPPLEMENTAL LOGGING at the database level

Full RedoMiner documentation

LogMiner Connector

Class: solutions.a2.cdc.oracle.OraCdcLogMinerConnector

LogMiner uses the Oracle LogMiner API as source for data changes. It is designed to minimize side effects of using Oracle LogMiner. Use LogMiner only if you cannot use RedoMiner, for example, if your organization's security policy prohibits remote connection to Oracle ASM with SYSASM/SYSDBA rights.

Full LogMiner documentation

SnapshotLog Connector

Class: solutions.a2.cdc.oracle.runtime.thread.KafkaSourceSnapshotLogConnector

SnapshotLog reads changes from Oracle materialized view logs. While it demonstrates Oracle capabilities, it is not recommended for production use due to the very large load it creates on the database.

Full SnapshotLog documentation

Connector Comparison

FeatureRedoMinerLogMinerSnapshotLog
Database loadMinimalModerateHigh
LOB supportBLOB, CLOB, NCLOB, XMLTYPE, JSON, VECTORBLOB, CLOB, NCLOB, XMLTYPENo
Oracle RACYesYesNo
Data Guard standbyYesYes (Active DG)No
DDL / Schema evolutionYesYesNo
Online redo processingYesYesN/A
TDE column encryptionYesNoNo
Supplemental loggingMinimal or ALLALL requiredNot required
Requires DB server accessNo (reads via SSH/SMB/ASM)No (JDBC only)No (JDBC only)

Data in Transit Encryption

All connectors use the Oracle JDBC driver version 26ai to connect to the database and Oracle ASM. To configure TLS for the JDBC connection, refer to the Oracle JDBC documentation.