Compatible versions
Oracle 12c and 11g are not supported. On 23ai and 26ai, capture is available through LogMiner only — XStream is validated on 19c and 21c.
Prerequisites
Before deploying the Oracle Source Connector, certain prerequisites must be met to ensure a smooth integration process:- Allowlisting Popsink’s IP address: Ensure that Popsink’s egress IP is allowed through the database firewall, so communication between the Oracle database and Popsink is uninterrupted. The per-region addresses are listed in Egress IP addresses.
- Database Log Mode Configuration: The Oracle database Archive Mode should be set to ArchiveLog.
-
Supplemental Logging: Supplemental Logs should be enable on the source you wish to replicate. This can me done at Database or Table Level :
- At Database Level
- At Table Level
Note: If using AWS RDS, additional steps may be required. Please consult the relevant AWS RDS documentation and do feel free to reach out for help.
Choosing a capture adapter
The connector can read changes in three different ways. All three produce the same events on the Popsink side — they differ in what they cost the source database and in what they require from your DBA.LogMiner is the adapter every Oracle connector runs today. LogMiner unbuffered and XStream are being rolled out — get in touch with Popsink before you plan a migration to either one, so we can confirm availability on your data plane and size the change with you.
XStream is a licensed Oracle GoldenGate feature. Using it without a GoldenGate licence is a licence violation — confirm your entitlement with Oracle before enabling it. On managed services such as Amazon RDS for Oracle, check with your provider that
DBMS_XSTREAM_ADM and outbound servers are available on your instance class.Required Permissions
Although you could use asuperuser, we do recommend setting up dedicated users for security reasons. The user account that the Oracle Source Connector utilizes must have sufficient privileges. The following SQL statements outline the necessary permissions for both LogMiner adapters:
{username} with the actual username being used for the connection.
If you selected the XStream adapter, grant the privileges described in XStream Out configuration instead — the DBMS_LOGMNR and LOGMINING grants above are not needed.
XStream Out configuration
This section is only relevant if you chose the XStream adapter. Everything here is done by your DBA on the source database, before the connector is created. Popsink connects to the outbound server you create here; the Oracle Instant Client and XStream libraries the connector needs are part of the Popsink image, so there is nothing to install on your side. The examples use two accounts, following Oracle’s own separation of duties:- an XStream administrator (
c##popsinkadmin) that creates and owns the outbound server, - the connect user (
c##popsinkuser) that Popsink authenticates as and that attaches to the outbound server.
c## prefix and the CONTAINER=ALL clauses.
1. Enable GoldenGate replication
XStream requires the GoldenGate replication parameter, alongside the ArchiveLog mode and supplemental logging already covered in the prerequisites.2. Create the XStream administrator
3. Create the connect user
This is the user whose credentials you enter in the Popsink form.4. Create the outbound server
Connect as the XStream administrator — to the CDB root on a multitenant deployment — and create one outbound server per connector. List the schemas or tables you intend to replicate; the outbound server only forwards changes for what it captures, so it acts as a first, server-side filter.On a multitenant database, the outbound server lives in the CDB root while the tables live in a PDB. Give Popsink the PDB in the connector form, and make sure the schemas you listed above are the ones in that PDB.
5. Verify the setup
Steps
Go to: Sources -> Create New then select the Oracle connector and Continue In the Credentials sections fill in the required information.host
- Description: The hostname or IP address of the Oracle database server.
- Type:
string - Example:
oracle-db-server.example.com
port
- Description: The port number on which the Oracle database server is listening.
- Type:
integer - Default:
1521(default port for Oracle database) - Example:
1521
user
- Description: The username used to connect to the Oracle database.
- Type:
string - Example:
popsink_user
password
- Description: The password associated with the specified user for authentication.
- Type:
string - Example:
p@ssw0rd123
service_name or sid
Provide exactly one of the two:
service_name: The Oracle service name to connect to.- Type:
string - Example:
ORCLPDB1
- Type:
sid: The Oracle System Identifier, for legacy databases that are not service-name addressable.- Type:
string - Example:
ORCL
- Type:
Advanced Options
Connecting through an SSH Tunnel
If the database is only reachable through a bastion host, enable SSH Tunnel and provide:
The Host and Port above stay as the database is addressed from the
bastion. For key generation, bastion hardening and the other connectivity
options (IPsec VPN, Tailscale), see
Tunnels and private connectivity.
Table Selection
After a successful credential check, pick the tables to replicate from the discovered list. The selection is stored as a comma-separated whitelist inSCHEMA.TABLE format.
With the XStream adapter, this selection is applied on top of what the outbound server already captures: a table that the outbound server does not capture never reaches the connector, whatever you select here.
You can use Check Credentials at any moment to verify the validity of your inputs.
Once the validity check has passed, the next step is the standard Informations page where you may give the connector a name and select which of your teams should own this connector.
Create the connector and you are now done. The connector may take a few minutes to synchronize with the source database.