Search docs.molo17.com
    A newer version of this documentation is available.
    View Latest (v2.3)

    Oracle XStream Agent

    Static

    Introduction

    The Oracle Xstream agent provides Change Data Capture (CDC) capabilities using Oracle’s native Xstream APIs. This approach offers enterprise-grade CDC functionality similar to Oracle GoldenGate (as they shared the same underlying architecture / APIs), making it ideal for high-throughput, real-time data replication scenarios.

    Key Features

    • Native integration with Oracle’s transaction logs

    • Support for both single-tenant and multi-tenant (pluggable database) infrastructures

    • Real-time change data capture

    • Minimal impact on source database performance

    • Built-in JDBC driver connection

    Supported Versions

    The Oracle XStream agent requires:

    • Oracle Database version 11.2.0.4 (11.2g) or higher

    • Support for both single-tenant and multi-tenant (pluggable database) infrastructures

    • Oracle Database Enterprise edition;

    • Oracle GoldenGate Middleware (Xstream APIs) licensed;

    Connecting with tnsnames

    Gluesync supports Oracle environments that rely on tnsnames.ora. You can configure the agent in two ways:

    Custom connection string

    Within the agent configuration wizard, open the //Advanced// section and paste your custom JDBC string. Start from the TNS entry you already manage and build a full connection string similar to:

    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=your_host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=your_service_name)))

    Use this option whenever you must reuse an existing tnsnames.ora definition or need advanced Oracle descriptors.

    Connection via SCAN (Single Client Access Name)

    Alternatively, you can connect through Oracle SCAN. Create a DNS record that resolves to your SCAN listeners. Those listeners will redirect each session to the least loaded instance that exposes the requested service.

    When SCAN listeners are active and configured correctly, you do not need the tnsnames.ora file. Fill the standard Gluesync fields instead:

    • Host: SCAN DNS address (for example, //rac-cluster-scan.example.com)

    • Port: Listener port (default 1521)

    • Service name: Provide the service name exposed by the cluster (connections must use SERVICE_NAME)

    Refer to Oracle’s Real Application Clusters documentation for SCAN planning and prerequisites:

    Platform supported features

    Feature Support Notes

    Target role

    ✅

    Writes to Oracle via the built-in JDBC driver (Enterprise edition).

    Source role

    ✅

    Captures transaction log changes through native XStream APIs.

    Snapshots

    ✅

    Supports snapshot tasks before CDC to seed target systems.

    CDC

    ✅

    Real-time CDC using XStream inbound/outbound servers.

    CDC type

    Oracle XStream (transaction logs)

    See Oracle XStream documentation.

    User defined data types

    ✅

    Supports user defined data types.

    Bulk load

    ❌

    This agent does not currently support bulk loading.

    Source persisted internal cache

    ✅

    Agent maintains local state to track LCRs (Logical Change Records), no persisted local cache.

    Target persisted internal cache

    N/A

    Writes flow directly through JDBC; no extra caching.

    Driver / connector

    Built-in JDBC driver + XStream APIs

    Requires Oracle Enterprise + GoldenGate licensing.

    Chains

    N/A

    Not supported.

    Truncate operation support (reading)

    ✅

    CDC stream detects TRUNCATE operations from redo logs.

    Truncate operation support (writing)

    ✅

    Supports Core Hub “TRUNCATE before snapshot” option.

    Setup Options

    Choose your setup guide based on your Oracle database infrastructure:

    Additional Resources

    Video Tutorial

    Real time data integration between Oracle 19c to PostgreSQL 16.4