Oracle XStream Agent
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) |
|
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. |