Skip to content

SYSTEM Cited by 1 source

Redpanda Connect Oracle CDC

Redpanda Connect's Oracle CDC input (oracledb_cdc) is a Redpanda Connect input component introduced with Redpanda Connect v4.83.0 (announced 2026-04-09). It adds Oracle Database as the sixth source-database engine in Redpanda's per-engine CDC-connector family — after Postgres, MySQL, MongoDB, Spanner (2025-03-18 CDC connectors post) and Microsoft SQL Server (2025-11-06 25.3 launch).

Canonical verbatim

From the launch post:

"Starting with Redpanda Connect v4.83.0, the oracledb_cdc input captures changes directly from Oracle, including: inserts, updates, and deletes. The connector then routes them downstream as structured events. No JVM, no Kafka Connect cluster, no separate workers. Just Redpanda Connect doing what it does best."

Mechanism

The connector rides on Oracle LogMiner — the Oracle Enterprise Edition utility that reconstructs row-level change events by mining the redo log stream. Verbatim: "because it uses Oracle LogMiner, which ships with Oracle Enterprise Edition, there's no additional Oracle licensing required." Canonicalised on the wiki as concepts/oracle-logminer-cdc — sibling to Postgres logical replication, MySQL binlog, MongoDB change streams, Spanner change streams.

Two-phase snapshot + stream shape like the rest of the family:

  • Snapshot phase — consistent snapshot of the captured tables, each existing row emitted as a read event.
  • Streaming phase — tails Oracle's redo logs from the snapshot-boundary SCN forward, emitting insert / update / delete events.

In-source checkpointing

Distinctive among the six CDC engines: the connector checkpoints its position inside Oracle itself, not in an external store. Verbatim:

"Restarts resume from a checkpointed position stored in Oracle itself, with no external cache required, no re-snapshot, and no gaps."

Canonicalised as concepts/in-source-cdc-checkpointing — the fourth canonical offset-durability class on the wiki:

Engine Offset ownership Storage
PostgreSQL Server Replication slot (confirmed_flush_lsn)
MySQL Consumer External store (Redis / SQL)
MongoDB Consumer External store (resume token)
Spanner Consumer Transactional row in source DB
Oracle Consumer Checkpoint table in source DB

Oracle and Spanner both store progress in the source DB, but the semantics differ: Spanner persists progress transactionally with each data row so the row and its offset commit together; Oracle uses a separate checkpoint table the connector advances. Oracle's shape retires the external offset store dependency that the MySQL and MongoDB connectors carry.

Automatic schema tracking

The connector queries Oracle's ALL_TAB_COLUMNS data-dictionary view and attaches a full column schema to each message as metadata, with precision-aware NUMBER mapping (integers → int64, decimals → json.Number). The idiomatic downstream pairing uses the schema_registry_encode processor to register the schema in Schema Registry and encode the payload as Avro.

Canonical verbatim:

"The oracledb_cdc connector handles it automatically. It queries Oracle's ALL_TAB_COLUMNS catalog and attaches a full column schema to each message as metadata, with precision-aware NUMBER mapping (integers as int64, decimals as json.Number). The schema_registry_encode processor reads that schema directly, registers it, and encodes the payload as Avro. Your consumers get typed, schema-tracked events from day one."

Schema drift handling:

  • New columns added to a captured table — detected automatically mid-stream.
  • Dropped columnsreflected after a connector restart.

Canonicalised as concepts/precision-aware-type-mapping. Inverts the Kafka-Connect-era default where schema-drift handling was the operator's problem — verbatim: "Most CDC setups leave this problem to you."

Oracle Wallet auth

For regulated environments where plain-text connection-string passwords fail security review, the connector supports Oracle Wallet"the standard answer: a file-based credential store provisioned by the DBA that the client uses instead of a username and password" — via the wallet_path config field. SSL is enabled automatically.

Two wallet formats:

  • cwallet.sso (auto-login) — no password required.
  • ewallet.p12 (PKCS#12) — password required via wallet_password config field, "treated as a secret field and will be redacted from logs and config dumps."

Canonicalised as concepts/file-based-credential-store — canonical wiki instance of a compliance-grade wallet-style credential store.

Worked config: two-table SALES schema

input:
  oracledb_cdc:
    connection_string: oracle://cdc_user:your_password@oracle-db.internal:1521/ORCL
    stream_snapshot: true
    include:
      - SALES\.ORDERS
      - SALES\.ORDER_ITEMS
pipeline:
  processors:
    - schema_registry_encode:
        url: http://schema-registry:8081
        subject: ${! meta("table_name") }
output:
  redpanda:
    seed_brokers:
      - redpanda-broker:9092
    topic: ${! meta("table_name").lowercase() }
    compression: lz4

The include field takes regex patterns (SALES\.ORDERS matches exactly; SALES\..* matches every table in the schema). The table_name metadata field flows through the pipeline, and Bloblang interpolation routes each event to its own topic. Canonical CDC-topic-per-table instance of patterns/bloblang-interpolated-multi-table-routing.

Worked config: Oracle Wallet auth

input:
  oracledb_cdc:
    connection_string: oracle://host:1521/ORCL
    wallet_path: /opt/oracle/wallet
    wallet_password: "${WALLET_PASSWORD}"  # only needed for ewallet.p12 wallets
    include:
      - SALES\..*

Competitive positioning

The post's canonical verbatim vs Debezium on Kafka Connect:

"Debezium is a solid project. If your team is already running Kafka Connect for other connectors, adding Oracle CDC on top is a reasonable lift. But if you're not already running Kafka Connect, you're standing up a significant amount of infrastructure — dedicated workers, connector offsets, a JVM heap to size, its own monitoring surface — for what should be a data pipeline. Redpanda Connect is a single Go binary."

Fits CDC driver ecosystem framing: two separate consumer-side ecosystems (Kafka-Connect- hosted Debezium and single-binary Redpanda Connect), each writing per-engine drivers against the source database's native change log.

Availability

  • Redpanda Connect: enterprise connector starting in version 4.83.0.
  • Redpanda Cloud: via managed pipelines.
  • Licensing: enterprise (consistent with the rest of the Redpanda Connect CDC family; contrast the Apache-2.0 dynamic- plugin framework).

Undisclosed

  • No benchmark numbers. The 2025-11-06 MSSQL CDC launch disclosed ~40 MB/s vs ~14.5 MB/s on a 5M-row table; this post does not.
  • Oracle topology scope unstated. Oracle RAC, Data Guard, Active Data Guard, Multitenant/Pluggable Databases, Standard Edition compatibility all elided. LogMiner is an Enterprise Edition feature; Standard Edition users cannot use this connector.
  • LogMiner operational caveats undisclosed. Supplemental logging requirements, DBMS_LOGMNR package APIs, continuous- mining vs ad-hoc mode, archive-log-generation rate, LogMiner overhead on the source primary all unaddressed.
  • Snapshot-boundary SCN mechanism undisclosed. Consistency model (single FLASHBACK AS OF SCN vs per-table cursors) not named.
  • Checkpoint-table mechanism undisclosed. Table name, schema, write cadence, permissions model all elided.
  • Parallel-snapshot claim absent. The 2025-03-18 post named intra-table parallel snapshot as Redpanda's differentiator on Postgres + MongoDB; the Oracle post doesn't claim this capability for Oracle.
  • LOB handling (CLOB/BLOB), LONG deprecation, XMLTYPE, JSON column (Oracle 12c+) mapping all elided.
  • UPDATE/DELETE semantic depth (before/after images, primary-key changes) not walked.

Seen in

  • sources/2026-04-09-redpanda-oracle-cdc-now-available-in-redpanda-connect — canonical wiki source introducing Oracle CDC as the sixth engine in Redpanda Connect's CDC family. Ships in Redpanda Connect v4.83.0 (enterprise-gated). Rides on Oracle LogMiner; checkpoints in-source (no external cache); automatic schema tracking via ALL_TAB_COLUMNS with precision-aware NUMBER mapping; Oracle Wallet auth for regulated environments. Competitive framing: single Go binary vs Debezium + JVM + Kafka Connect cluster.
Last updated · 470 distilled / 1,213 read