<!-- Generated from the rendered page by scripts/write-llm-mirrors.mjs. Do not edit by hand. -->
Canonical: https://molo17.com/solutions/oracle-cdc/
Markdown mirror: https://molo17.com/solutions/oracle-cdc/index.md
Title: Oracle CDC and real-time replication with Gluesync | MOLO17
Description: Oracle CDC with XStream, LogMiner, or trigger-based agents. Replicate to warehouses, NoSQL stores, and event streams in real time with Gluesync. Start a trial.

[Solutions](/solutions/)  Oracle CDC

 SOLUTION · ORACLE CDC

# Oracle change data capture and real-time data replication

**Real-time Oracle CDC from redo logs, with the capture method your edition, license, and DBA policy actually allow.**

Gluesync by MOLO17 captures committed changes from Oracle Database through four dedicated source agents: XStream, LogMiner, and two trigger-based agents for environments where redo access is restricted. Pick the agent that fits your edition and licensing, then deliver changes continuously to the databases, warehouses, lakes, and event streams your teams already use. Manage every pipeline from the Core Hub web UI, the Gluesync control plane.

[Start a Gluesync trial](/get-gluesync/) [Talk to us](/contacts/)

VENDOR COMPATIBILITY

## Battle-tested on every Oracle Database you run

The same Gluesync Oracle Database agent is tested against each vendor offering below, self-managed or fully managed, so capture behaves the same wherever Oracle Database runs.

-    **Oracle Database** Source Target Tested
-    **Amazon RDS for Oracle** Source Target Tested
-    **Oracle Autonomous Data Warehouse** Source Target Tested
-    **Oracle Autonomous Database** Source Target Tested

WHO THIS IS FOR

## Oracle teams moving a system of record into modern platforms

-   Oracle DBAs who must expose change data without handing out `SYSDBA`, without adding another replication product to the estate, and with a documented list of privileges, supplemental logging, and `ARCHIVELOG` requirements they can review before approving anything
-   Data platform leads feeding Snowflake, BigQuery, data lakes, Kafka, MongoDB, or Couchbase from Oracle systems of record, who want one control plane for sources and targets instead of a Kafka Connect mesh
-   Teams re-evaluating Oracle GoldenGate, Qlik Replicate, or Fivetran HVR renewals and looking for a commercial Oracle CDC path with [best-in-class enterprise support, rated 4.9/5 by customers](/support/#customer-ratings) and [heterogeneous targets](/integrations/?source=Oracle+Database#integration-finder)
-   Engineers who prototyped the Debezium Oracle connector and now own LogMiner session tuning, Connect clusters, schema history, and on-call for a pipeline the business considers infrastructure

THE PROBLEM

## Oracle data that only moves in batches becomes stale, and the alternatives are expensive

Oracle is usually the system of record, so every scheduled extract, materialized view refresh, or timestamp-based poll leaves analytics and downstream applications working from a copy that is already behind, while competing with production for CPU and I/O. Buyers searching for Oracle CDC, Oracle replication, or real-time Oracle to Snowflake usually hit the same wall: GoldenGate is capable but a separate license and a separate product to operate; Debezium means owning LogMiner sessions plus Kafka and Kafka Connect; cloud-managed CDC services stop at the cloud they run in.

Gluesync addresses that pattern with **per-agent CDC** and a choice of capture techniques. Four Oracle source agents share the same pipeline model, snapshots, target agents, and Core Hub, so you choose by edition, license, and DBA policy rather than by rebuilding pipelines. Each supported system has its own agent and native change stream; target agents write to the destination you choose.

HOW IT WORKS

## How Gluesync does Oracle CDC

### Redo logs first, triggers when redo access is restricted

Three capture techniques cover Oracle Database, all exposed as the same pipeline in Core Hub. XStream and LogMiner read the redo logs; the two trigger-based agents audit with triggers for environments where the log cannot be exposed.

-   **XStream:** the agent attaches to an XStream outbound server and receives Logical Change Records (LCRs) from the capture process. It shares the underlying architecture and APIs with Oracle GoldenGate, which is why it needs Enterprise Edition and the GoldenGate (XStream) license, and why it is the choice for high-throughput estates that already license it. Before and after images are included. [XStream agent docs ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-xstream-intro.html)
-   **LogMiner:** the agent mines online and archived redo logs through Oracle's native LogMiner utility over a standard JDBC connection. Standard or Enterprise Edition, RAC supported, no GoldenGate license. This is the default recommendation for most Oracle estates. [LogMiner agent docs ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-logminer-intro.html)
-   **Triggers:** the agent installs triggers that record changed row IDs and CRUD action types in a per-table `CDC` table, then reads committed rows from it. Any edition, single-tenant or CDB/PDB, RAC supported. It is the option when redo access is not permitted at all. [Triggers agent docs ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-triggers-intro.html)

### What your DBA will be asked to enable

The log-based agents need the database to keep the change history they read, and a user with the minimum privileges to read it. Full statements are in each agent's setup guide.

-   **ARCHIVELOG mode** for XStream and LogMiner. Archived redo must stay available until the agent has consumed it: an RMAN retention policy that prunes logs too early surfaces as `ORA-01291: missing logfile`, and the LogMiner troubleshooting guide covers the recovery steps.
-   **Supplemental logging.** LogMiner needs database-level `ADD SUPPLEMENTAL LOG DATA` plus `(PRIMARY KEY) COLUMNS`. For every captured table, `ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS` is the recommended setting on both XStream and LogMiner, so before and after images come straight from the log and Gluesync does not have to query the source table for the full row.
-   **Least-privilege users.** LogMiner uses a dedicated mining user granted `CREATE SESSION`, `SELECT ANY TRANSACTION`, `SELECT ANY DICTIONARY`, `EXECUTE_CATALOG_ROLE`, and `LOGMINING`, plus a separate application user for discovery and snapshots. XStream uses an admin user granted through `DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE` and a connect user with `SELECT_CATALOG_ROLE`, `EXECUTE_CATALOG_ROLE`, and `FLASHBACK ANY TABLE`, with `enable_goldengate_replication=true` set at the instance. Triggers need a user dedicated to Gluesync with `CREATE TABLE`, `CREATE TRIGGER`, `CREATE ANY SEQUENCE`, and `SELECT ANY TABLE`. None of the runtime users is `SYS` or a schema owner.
-   **Scope the capture.** On XStream, register only the tables you need in the outbound server and filter columns with subset rules; capturing an entire schema on an undersized instance is the usual cause of `PAUSED FOR FLOW CONTROL`. On LogMiner, supplemental logging increases redo volume, so size storage and network accordingly.

### CDB/PDB, RAC, and connectivity

-   **Multitenant.** XStream and LogMiner both document a multi-tenant setup: common `C##` users created in the CDB with `CONTAINER=ALL`, redo mined at the CDB level where all PDBs share it, tables and supplemental logging configured inside the PDB, and `CDB name` and `PDB name` set on the agent. The Triggers agents take the same two settings for multi-tenant scopes.
-   **RAC.** LogMiner and Triggers support Oracle Real Application Clusters, and LogMiner exposes a dedicated `Use Oracle RAC` advanced setting. XStream documents connecting through a SCAN address.
-   **Connections.** Connect by `SID` or `SERVICE_NAME`, through a SCAN DNS record so sessions land on the least loaded instance, or by pasting a full JDBC descriptor built from your existing `tnsnames.ora` entry. TLS and Oracle Wallet authentication are documented, with additional hosts for failover on LogMiner.

### Resilience built for Oracle restarts and long transactions

The LogMiner agent persists committed changes in ArenaCache, the source-side cache now shared by other cache-enabled Gluesync agents, and spills large or long-running uncommitted transactions to an off-heap, memory-mapped file per transaction so JVM heap pressure stays flat regardless of transaction size. When the Oracle host restarts or the network blackholes, a configurable read timeout bounds the dead read, the worker drops orphaned in-flight state, reconnects, and resumes from the persisted SCN checkpoint without a software restart.

Redo SQL the parser cannot decode is recorded in a `LOGMNR_PARSE_DLQ` table, and an agent setting lets you choose fail-open continuity with an audit trail or strict blocking until an operator intervenes. On XStream, a low-watermark retention setting manages archive retention for quiet tables, and we provide a startup trigger snippet that restarts the outbound server after a database restart. The Triggers agent tracks a `TRANSACTION_CONSUMED` state per row so deferred commits from other tools writing to the same database are handled, and the `CDC` table has configurable retention and optional partitioning on Enterprise Edition.

### Architecture around Core Hub

Lightweight agents sit close to each system. Core Hub is the central orchestrator for the web UI, APIs, and routing between source and target agents. Pipelines group a source agent, target agent, and entities. Every Oracle agent supports full-table snapshots to seed a target before CDC, bulk load for high-volume mirroring, and the source and target role, so Oracle can be the destination as well as the origin. Documented deployments include Docker, Docker Compose, and Kubernetes.

[Explore the general CDC streaming architecture →](/solutions/cdc-streaming/)

CAPTURE OPTIONS

## Four Oracle source agents: which one to pick

All four run the same pipelines, snapshots, and targets under Core Hub. The difference is how changes are captured, and therefore what your edition, license, hosting, and DBA policy allow.

| Agent | Capture technique | Versions | Best for |
| --- | --- | --- | --- |
| [Oracle XStream agent ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-xstream-intro.html) | Redo logs via an XStream outbound server (Logical Change Records) | Oracle 19c and later; Enterprise Edition with the GoldenGate (XStream) license; single-tenant and CDB/PDB | High-throughput Enterprise Edition estates that already license GoldenGate or XStream and want GoldenGate-class capture under Core Hub. Before and after images come from the log. One outbound server serves one Gluesync instance, so plan one per instance. |
| [Oracle LogMiner agent ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-logminer-intro.html) | Online and archived redo logs via the native LogMiner utility | Oracle 11.2.0.4 (11.2g) and later; Standard or Enterprise Edition; Oracle RAC supported; single-instance and CDB/PDB | The default for most Oracle estates: no GoldenGate license, Standard Edition included, RAC included. SCN checkpoints, in-place recovery after host restarts, ArenaCache, off-heap transaction spill, and a parse DLQ. Expect LogMiner to use PGA and CPU on the Oracle host; batch size and polling interval are tunable. |
| [Oracle Triggers agent ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-triggers-intro.html) | Database triggers writing row IDs and CRUD actions to a per-table CDC table | Oracle 19c and later; any edition; single-tenant and CDB/PDB; Oracle RAC supported | Environments where redo access is not permitted or log-based capture is unavailable, including hosting that does not let you enable the prerequisites above. Minimal setup with a dedicated Gluesync user. |
| [Oracle Triggers legacy agent ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-triggers-intro.html) | Same trigger-based auditing and CDC table for older releases | Oracle 11.2g up to 19c; any edition | Older 11.2g to 18c databases that cannot use log-based capture, or that must keep an identical trigger model across an estate being upgraded in stages. Same trigger model and setup as the current Triggers agent. |

TARGETS AND TOPOLOGIES

## Keep Oracle as the system of record while modernizing destinations

Use the [integrations directory](/integrations/?source=Oracle+Database#integration-finder) to pair Oracle Database as source or target with relational engines, NoSQL stores, cloud warehouses, object and lake storage, or event streams, subject to each agent's documented source and target role. Every Oracle agent also supports the target role, including bulk load into Oracle.

Gluesync keeps pace with your change volume at any scale. [MOLO17 Professional Services](/solutions/professional-services/) can size the deployment with your team.

Target agents write in optimized batches, never row by row, and switch to native bulk load for both snapshots and CDC on targets such as [Snowflake](/solutions/replicate-to-snowflake/), [Google BigQuery](/solutions/replicate-to-bigquery/), [Amazon Redshift](/solutions/replicate-to-redshift/), [Microsoft SQL Server](/solutions/replicate-to-sql-server/), and [PostgreSQL](/solutions/replicate-to-postgresql/).

-   Offload reporting and API reads from Oracle to PostgreSQL, SQL Server, or a NoSQL store: see [database offload](/solutions/database-offload/)
-   Feed Snowflake, BigQuery, Amazon Redshift, or a data lake continuously with destination-native bulk loading: see [warehouse sync](/solutions/warehouse-sync/)
-   Publish Oracle changes to Apache Kafka or another event-streaming platform for microservices and integration
-   Run a snapshot plus CDC to keep an Oracle and a cloud target aligned until cutover: see [cloud migration](/solutions/cloud-migration/)

FAIR, HIGH-LEVEL COMPARISON

## Where Gluesync fits among Oracle CDC approaches

| Approach | What buyers usually get | Where Gluesync fits |
| --- | --- | --- |
| Oracle GoldenGate | Oracle's own replication, deep and mature, strongest for Oracle-to-Oracle; a separate license and a separate product to deploy and operate | The XStream agent uses the same underlying APIs for teams that hold the license; LogMiner and the Triggers agents need no GoldenGate license; [heterogeneous targets](/integrations/?source=Oracle+Database#integration-finder) under one Core Hub |
| Debezium Oracle connector + Kafka | Open-source LogMiner-based capture; you run Kafka, Kafka Connect, schema history, offsets, sinks, and upgrades | Productized LogMiner and XStream agents with Core Hub operations and [MOLO17 enterprise support](/support/#customer-ratings); read the [Debezium alternative](/solutions/debezium-alternative/) comparison |
| Qlik Replicate / Fivetran HVR-class commercial CDC | Mature replication portfolios with broad source coverage; pricing and packaging vary by product generation | Agent-based commercial CDC with a choice of Oracle capture methods; see [migrating to Gluesync](/migrate-to-gluesync/) for supported paths |
| Cloud-managed CDC services (AWS DMS and similar) | Convenient inside one cloud; Oracle capture options and targets follow that cloud's constraints | Agents deploy where Oracle actually runs, on-premises or in any cloud, with Docker, Docker Compose, or Kubernetes, and deliver to targets beyond a single provider |
| DIY LogMiner scripts, materialized views, timestamp polling | Full control with high build and operations cost; polling and refresh jobs compete with production | Productized agents with snapshots, SCN checkpoints, recovery, parse DLQ, and Core Hub monitoring; read [Oracle CDC build vs buy](/blog/oracle-cdc-technical-strategies-build-vs-buy/) |

RELATED CONTENT

## Oracle CDC research and implementation detail

-   [Oracle CDC: technical strategies and build vs buy](/blog/oracle-cdc-technical-strategies-build-vs-buy/)
-   [Oracle LogMiner agent for Gluesync: real-time CDC for Oracle databases](/blog/oracle-logminer-agent-for-gluesync/)
-   [Debezium alternative: managed CDC versus Kafka + Debezium](/solutions/debezium-alternative/)
-   [Oracle XStream agent overview ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-xstream-intro.html)
-   [Oracle LogMiner agent overview ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-logminer-intro.html)
-   [Oracle Triggers agent overview ↗](https://docs.molo17.com/gluesync/latest/agents/oracle-triggers-intro.html)

FAQ

## Oracle CDC questions

What is Oracle CDC with Gluesync?

Change data capture from Oracle Database by reading committed changes from the redo logs through XStream or LogMiner, or from trigger-populated CDC tables, then delivering inserts, updates, and deletes to configured targets via Gluesync agents and Core Hub.

Which Oracle agent should we choose?

Start with LogMiner: it covers Standard and Enterprise Edition from 11.2.0.4, supports RAC and CDB/PDB, and needs no GoldenGate license. Choose XStream if you hold the GoldenGate (XStream) license on Enterprise Edition and want its capture path. Choose the Triggers agent on 19c and later, or the Triggers legacy agent on 11.2g up to 19c, when redo access is not permitted.

Do we need an Oracle GoldenGate license?

Only for the XStream agent, which uses the XStream APIs that Oracle licenses with GoldenGate and requires Enterprise Edition. The LogMiner and Triggers agents do not require GoldenGate, and no additional license is needed to operate Gluesync itself.

What does the DBA have to enable on the database?

For log-based agents: ARCHIVELOG mode, supplemental logging (ALL COLUMNS on each captured table is recommended), and a dedicated least-privilege user, for example the LOGMINING, SELECT ANY TRANSACTION, SELECT ANY DICTIONARY, and EXECUTE\_CATALOG\_ROLE grants for LogMiner. For XStream, enable\_goldengate\_replication must be true and an outbound server is created with DBMS\_XSTREAM\_ADM. The Triggers agent needs a dedicated user able to create tables, triggers, and sequences.

Does Gluesync support Oracle multitenant (CDB/PDB) and RAC?

Yes for multitenant: XStream and LogMiner document CDB/PDB setups with common C## users and PDB-level table configuration, and the Triggers agents accept CDB and PDB names. For RAC, the LogMiner and Triggers agents support Oracle Real Application Clusters.

Can Gluesync write to Oracle, not only read from it?

Yes. Every Oracle agent supports the target role over the built-in JDBC driver, including bulk load into Oracle for snapshots and CDC, and the Core Hub TRUNCATE before snapshot option.

What happens when the Oracle host restarts or archived logs are missing?

The LogMiner agent detects the dead connection through its read timeout, drops orphaned in-flight transactions, reconnects, and resumes from the persisted SCN checkpoint without a software restart. If archived redo was deleted before it was consumed, the agent reports ORA-01291 or ORA-00308; the troubleshooting guide walks through RMAN retention, crosscheck, and when a fresh snapshot is needed.

CDC BY SOURCE DATABASE

## Other sources Gluesync captures from

-    [Cosmos DB CDC](/solutions/cosmos-db-cdc/)
-    [Couchbase CDC](/solutions/couchbase-cdc/)
-    [Db2 LUW CDC](/solutions/db2-luw-cdc/)
-    [DynamoDB CDC](/solutions/dynamodb-cdc/)
-    [IBM i CDC](/solutions/ibm-i-cdc/)
-    [Informix CDC](/solutions/informix-cdc/)
-    [MariaDB CDC](/solutions/mariadb-cdc/)
-    [MongoDB CDC](/solutions/mongodb-cdc/)
-    [MySQL CDC](/solutions/mysql-cdc/)
-    [PostgreSQL CDC](/solutions/postgresql-cdc/)
-    [SAP ASE (Sybase) CDC](/solutions/sap-ase-cdc/)
-    [SAP HANA CDC](/solutions/sap-hana-cdc/)
-    [ScyllaDB CDC](/solutions/scylladb-cdc/)
-    [SQL Server CDC](/solutions/sql-server-cdc/)
-    [YugabyteDB CDC](/solutions/yugabytedb-cdc/)

## Evaluate Gluesync against your Oracle redo logs

Start a trial on your infrastructure, or talk to MOLO17 about the right Oracle agent for your edition, licensing, prerequisites, and targets.

[Start a Gluesync trial](/get-gluesync/) [Talk to MOLO17](/contacts/)
