Skip to main content

OSO CDC Connector for Oracle Database

OSO CDC Connector for Oracle Database is an open-source (Apache-2.0) Kafka Connect source connector. It reads committed changes from Oracle Database redo through LogMiner and publishes them to Apache Kafka. It is built to replace Confluent's proprietary Oracle CDC Source and to give Debezium users on LogMiner a connector whose first rule is that no change is ever lost silently.

Status​

The current release is 0.1.2, on Maven Central and the GitHub release page. It is a preview: releases before 1.0 are tested on Oracle Database Free 23ai and 26ai, single instance, and the 19c and 21c qualification and a 72-hour soak come before 1.0. Everything this site describes as available is in that release and covered by its test suites (see getting started). Nothing on this site is a benchmark claim.

CapabilityStatus
Streaming capture with LogMiner, Debezium-compatible records, at-least-once deliveryAvailable
Exactly-once delivery, Kafka transactions at Oracle commit boundariesAvailable
Snapshots: chunked, SCN-anchored, resumable, interleaved with streamingAvailable
Signals: snapshots on demand, pause, resume, stop, table refresh, state dumpAvailable
Transaction buffer with spill to disk, Kafka transaction journal, orphan detection, long-transaction policyAvailable
Schema versions and DDL: schema topic, rows written before a DDL decoded with a dictionary from the redoAvailable
LOB columns: skip, inline from redo, or reselect as of the commit SCNAvailable
Column exclusion: named columns dropped before their values are readAvailable
Avro-safe names for schemas and fields, with a typed stop on name collisionsAvailable
Decode DLQ, ops topic, heartbeats, archive-only miningAvailable
Metrics, Prometheus exporter rules, Grafana dashboard and alert rulesAvailable
oracle-cdc-doctor: preflight checks, setup script, redo profile, sizing, lag explanationAvailable
Several PDBs from one connectorSee multi-PDB capture
oracle-cdc-admin: offsets, resnapshot, open transactions, journal inspectionAvailable
Migration tools from Confluent and Debezium: configuration translation, takeover SCN, cutover verificationAvailable
Amazon RDS for Oracle 19c, non-CDB, and with the CDB architecture from 0.1.3Preview
Oracle RAC, Autonomous Database, standby captureNot available yet
Confluent-compatible record format, transaction metadata records, schema change topicNot available yet

Oracle Database 19c and later is required. The test suites run against Oracle Database Free, release 23.26.3; see installation for what is tested.

Design in one paragraph​

The engine mines uncommitted redo with LogMiner and keeps its own transaction buffer, so a long running transaction never pins the connector's offsets and never fills the heap: large transactions spill to disk and, past a threshold, to a durable journal topic in Kafka. Offsets only ever encode what Kafka Connect acknowledged. Any condition the engine does not understand, such as a missing archived log, a corrupt redo record or a column it cannot decode, stops the task with a typed error and a runbook link rather than skipping data.

Where to go next​

Trademarks​

This project is not affiliated with, endorsed by or sponsored by Oracle Corporation. Oracle is a registered trademark of Oracle and/or its affiliates. The repository and plugin names use "oracle" descriptively, as other connectors for Oracle Database do.