Skip to main content

Command Palette

Search for a command to run...

Real-Time Oracle to Snowflake Replication with GoldenGate 26ai on GCP

Published
14 min read
Real-Time Oracle to Snowflake Replication with GoldenGate 26ai on GCP
R
I’m Robert Moayedzadeh, a seasoned Oracle Database Administrator based in Atlanta, Georgia. With years of hands-on experience managing complex Oracle environments — from RAC and Exadata to large-scale cloud migrations — I’ve helped organizations move critical workloads to OCI with minimal downtime and maximum performance. Through DBA Dispatch, I share practical insights, battle-tested strategies, and no-fluff guidance on Oracle performance tuning, Zero Downtime Migration (ZDM), GoldenGate, Autonomous Database, and everything in between. If you’re a DBA navigating the shift to the cloud, you’re in the right place.

Oracle GoldenGate 26ai | Snowflake | Google Cloud Platform
Complete Step-by-Step Implementation Guide — April 2026


1. Architecture Overview

This guide walks through the complete implementation of real-time Oracle Database replication to Snowflake using Oracle GoldenGate (OGG) 26ai on Google Cloud Platform (GCP).

The solution captures change data from an Oracle 19c CDB on a GCP Compute Engine VM and delivers it to a Snowflake data warehouse using the OGG for Distributed Applications and Analytics (DAA) binary.

1.1 Pipeline Flow

The replication pipeline flows through four main stages:

Oracle 19c CDB  →  EXTSRC (Integrated Extract)  →  DISTPATH (Distribution Service)
                                                          ↓
                                          Receiver Service on Hub VM
                                                          ↓
                                     REPSF (Replicat) → Snowflake
Stage Component Role
1 EXTSRC (Integrated Extract) Reads Oracle redo logs on the source VM
2 DISTPATH (Distribution Service) Ships trail files over the internal GCP network
3 Receiver Service Accepts incoming trail files on the hub VM
4 REPSF (Replicat) Applies changes to Snowflake via the Snowflake Event Handler

1.2 Infrastructure Summary

Component VM / Service Ports
Oracle 19c CDB (source) oraksddblab1 (GCP) 1521
OGG for Oracle (Extract) oraksddblab1 (GCP) 9100–9104
OGG DAA (Replicat) oraksdprod (GCP) 9200–9204
Snowflake (target) AWS US East (N. Virginia) 443
GCP Internal Network 10.142.0.0/24 9100–9204

1.3 Software Versions

Component Version
Oracle GoldenGate for Oracle 23.26.1.0.0 (OGG 26ai)
Oracle GoldenGate DAA 23.26.1.0.0 (OGG 26ai)
Oracle Database 19c Enterprise Edition (19.3.0.0.0)
Snowflake JDBC Driver 3.26.1
Java OpenJDK 17 (bundled with OGG)
Operating System Oracle Linux 8 (x86-64)

2. Required Downloads

Download the following binaries from the Oracle Software Delivery Cloud (edelivery.oracle.com) or the Oracle GoldenGate Downloads page. A valid Oracle account is required for production use.

2.1 Binaries

File / Part Number Purpose — Install On
V1054774-01.zip (OGG 26ai for Oracle) Source VM — Extract side
V1054834-01.zip (OGG DAA 26ai) Hub VM — Replicat / Snowflake side
snowflake-jdbc-3.26.1.jar (Maven) Hub VM — Snowflake JDBC driver

Important: The OGG DAA binary is separate from the Oracle-source binary. Both must be downloaded and installed on their respective VMs.

2.2 Using the Bundled Dependency Downloader

OGG DAA includes a Maven-based dependency downloader for Snowflake JDBC. After installing the DAA binary, run:

cd /u01/app/ogg/ogg_home/opt/DependencyDownloader
./snowflake.sh
# JAR lands at: dependencies/snowflake-jdbc-3.26.1/snowflake-jdbc-3.26.1.jar

3. Operating System Preparation

Perform these steps on both VMs as root before running any OGG installer.

3.1 Create OS User and Directory Structure

# Install required packages
dnf install -y libaio bc binutils gcc make libgcc glibc glibc-devel sysstat

# Create OS user and groups
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m ogg

# Create directory structure
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/ogg/ogg_home      # OGG_HOME (binaries)
mkdir -p /u01/app/ogg/ogg_sm        # Service Manager
mkdir -p /u01/app/ogg/ogg_deploy    # Deployment
mkdir -p /u01/software              # ZIP staging

chown -R ogg:oinstall /u01/app/ogg
chown -R ogg:oinstall /u01/app/oraInventory
chown -R ogg:oinstall /u01/software

3.2 Add Swap Space

The OGG installer requires at least 150 MB of swap. GCP VMs have none by default.

dd if=/dev/zero of=/swapfile bs=1M count=512
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab

3.3 Environment Variables (ogg user)

Add to /home/ogg/.bash_profile on the source VM:

export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export OGG_HOME=/u01/app/ogg/ogg_home
export TNS_ADMIN=/u01/app/ogg/ogg_home/network/admin
export ORACLE_SID=SRCDB
export PATH=\(ORACLE_HOME/bin:\)OGG_HOME/bin:$PATH
export LD_LIBRARY_PATH=\(ORACLE_HOME/lib:\)OGG_HOME/lib:$LD_LIBRARY_PATH

4. Installing OGG Binaries

Install OGG binaries on each VM using silent mode. The response file schema version must match the OGG 26ai release.

4.1 oggcore.rsp — Source VM (Oracle binary)

oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v26_1_0
INSTALL_OPTION=ORA23ai
SOFTWARE_LOCATION=/u01/app/ogg/ogg_home
INVENTORY_LOCATION=/u01/app/oraInventory
UNIX_GROUP_NAME=oinstall

4.2 oggcore.rsp — Hub VM (DAA binary)

oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v26_1_0
INSTALL_OPTION=Generic
SOFTWARE_LOCATION=/u01/app/ogg/ogg_home
INVENTORY_LOCATION=/u01/app/oraInventory
UNIX_GROUP_NAME=oinstall

Important: For the DAA binary, INSTALL_OPTION must be Genericnot BigData. Check the bundled oggcore.rsp for the exact value.

4.3 Run the Installer

# Unzip binary
unzip /u01/software/V1054774-01.zip -d /u01/software/ogg_stage

# Run silent installer
cd /u01/software/ogg_stage/fbo_ggs_Linux_x64_Oracle_services_shiphome/Disk1
./runInstaller -silent -showProgress -responseFile /home/ogg/oggcore.rsp

# Run as root (first Oracle product only)
/u01/app/oraInventory/orainstRoot.sh

5. Creating Deployments with oggca.sh

After binary installation, create the Service Manager and deployment using oggca.sh in silent mode.

5.1 Key Lessons Learned

Rule Detail
Strong passwords Must have uppercase, lowercase, digit, and special char from: - ! @ % & * . # _
Different usernames Use separate users for ADMINISTRATOR_USER (SM) and DEPLOYMENT_ADMINISTRATOR_USER
Bind to all interfaces Set HOST_SERVICEMANAGER=0.0.0.0 for browser and inter-VM access
Directory pre-creation Only pre-create ogg_sm/ and ogg_deploy/var/data/bdb/ — let oggca create all subdirs
Environment variables Set TNS_ADMIN, ORACLE_HOME, ORACLE_SID in the shell AND in the response file
CDB schema naming OGG_SCHEMA must use C##OGGADMIN format for CDB databases

5.2 oggca.rsp — Source VM

oracle.install.responseFileVersion=/oracle/install/rspfmt_oggca_response_schema_v23_1_0
CONFIGURATION_OPTION=ADD
DEPLOYMENT_NAME=OGG_SRC
ADMINISTRATOR_USER=oggadmin
ADMINISTRATOR_PASSWORD=Ogg_Admin26
DEPLOYMENT_ADMINISTRATOR_USER=oggdeploy
DEPLOYMENT_ADMINISTRATOR_PASSWORD=Ogg_Admin26
SERVICEMANAGER_DEPLOYMENT_HOME=/u01/app/ogg/ogg_sm
SERVICEMANAGER_ETC_HOME=/u01/app/ogg/ogg_sm/etc
SERVICEMANAGER_CONF_HOME=/u01/app/ogg/ogg_sm/etc/conf
SERVICEMANAGER_SSL_HOME=/u01/app/ogg/ogg_sm/etc/ssl
SERVICEMANAGER_VAR_HOME=/u01/app/ogg/ogg_sm/var
SERVICEMANAGER_DATA_HOME=/u01/app/ogg/ogg_sm/var/data
HOST_SERVICEMANAGER=0.0.0.0
PORT_SERVICEMANAGER=9100
SECURITY_ENABLED=false
STRONG_PWD_POLICY_ENABLED=true
CREATE_NEW_SERVICEMANAGER=true
REGISTER_SERVICEMANAGER_AS_A_SERVICE=false
INTEGRATE_SERVICEMANAGER_WITH_XAG=false
EXISTING_SERVICEMANAGER_IS_XAG_ENABLED=false
OGG_SOFTWARE_HOME=/u01/app/ogg/ogg_home
OGG_DEPLOYMENT_HOME=/u01/app/ogg/ogg_deploy
OGG_ETC_HOME=/u01/app/ogg/ogg_deploy/etc
OGG_CONF_HOME=/u01/app/ogg/ogg_deploy/etc/conf
OGG_SSL_HOME=/u01/app/ogg/ogg_deploy/etc/ssl
OGG_VAR_HOME=/u01/app/ogg/ogg_deploy/var
OGG_DATA_HOME=/u01/app/ogg/ogg_deploy/var/data
ENV_TNS_ADMIN=/u01/app/ogg/ogg_home/network/admin
ENV_ORACLE_SID=SRCDB
OGG_SCHEMA=C##OGGADMIN
SHARDING_ENABLED=false
ADMINISTRATION_SERVER_ENABLED=true
PORT_ADMINSRVR=9101
DISTRIBUTION_SERVER_ENABLED=true
PORT_DISTSRVR=9102
NON_SECURE_DISTSRVR_CONNECTS_TO_SECURE_RCVRSRVR=false
RECEIVER_SERVER_ENABLED=true
PORT_RCVRSRVR=9103
METRICS_SERVER_ENABLED=true
METRICS_SERVER_IS_CRITICAL=false
PORT_PMSRVR=9104
UDP_PORT_PMSRVR=9105
PMSRVR_DATASTORE_TYPE=BDB
PMSRVR_DATASTORE_HOME=/u01/app/ogg/ogg_deploy/var/data/bdb
REMOVE_DEPLOYMENT_FROM_DISK=false

5.3 Run oggca and Register Daemon

# Clean and recreate directories
rm -rf /u01/app/ogg/ogg_sm /u01/app/ogg/ogg_deploy
mkdir -p /u01/app/ogg/ogg_sm
mkdir -p /u01/app/ogg/ogg_deploy/var/data/bdb

# Set environment variables
export TNS_ADMIN=/u01/app/ogg/ogg_home/network/admin
export ORACLE_SID=SRCDB
export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export OGG_HOME=/u01/app/ogg/ogg_home
export PATH=\(ORACLE_HOME/bin:\)OGG_HOME/bin:$PATH
export LD_LIBRARY_PATH=\(ORACLE_HOME/lib:\)OGG_HOME/lib:$LD_LIBRARY_PATH

# Run oggca
/u01/app/ogg/ogg_home/bin/oggca.sh -silent -responseFile /home/ogg/oggca.rsp

# Register as systemd daemon (run as root)
export OGG_USER=ogg
export OGG_HOME=/u01/app/ogg/ogg_home
export OGG_CONF_HOME=/u01/app/ogg/ogg_sm/etc/conf
export OGG_VAR_HOME=/u01/app/ogg/ogg_sm/var

/u01/app/ogg/ogg_home/lib/utl/install/OracleGoldenGateInstall.sh \
  --install --ogg-home /u01/app/ogg/ogg_home \
  --sm-home /u01/app/ogg/ogg_sm --ogg-user ogg

6. Oracle Database Preparation (CDB)

These steps configure Oracle 19c to work with OGG integrated capture. All commands run as SYSDBA in the CDB root unless noted.

6.1 Enable GoldenGate and Supplemental Logging

-- Enable GoldenGate replication
ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;

-- Enable supplemental logging at CDB level
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;

-- Enable at PDB level
ALTER SESSION SET CONTAINER=SRCDBPDB;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

6.2 Create OGG Common User

Important: For CDB databases, the OGG user must be a common user (C## prefix) created in CDB$ROOT.

CREATE USER C##OGGADMIN IDENTIFIED BY "OggAdmin_2026"
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP
  CONTAINER=ALL;

GRANT CREATE SESSION       TO C##OGGADMIN CONTAINER=ALL;
GRANT ALTER SESSION        TO C##OGGADMIN CONTAINER=ALL;
GRANT RESOURCE             TO C##OGGADMIN CONTAINER=ALL;
GRANT DBA                  TO C##OGGADMIN CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO C##OGGADMIN CONTAINER=ALL;
GRANT FLASHBACK ANY TABLE  TO C##OGGADMIN CONTAINER=ALL;
GRANT SELECT ANY TABLE     TO C##OGGADMIN CONTAINER=ALL;
GRANT CREATE ANY TABLE     TO C##OGGADMIN CONTAINER=ALL;
GRANT INSERT ANY TABLE     TO C##OGGADMIN CONTAINER=ALL;
GRANT UPDATE ANY TABLE     TO C##OGGADMIN CONTAINER=ALL;
GRANT DELETE ANY TABLE     TO C##OGGADMIN CONTAINER=ALL;

EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('C##OGGADMIN', CONTAINER=>'ALL');

6.3 TNS Configuration

# Copy Oracle tnsnames.ora to OGG's network/admin directory
cp /u01/app/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora \
   /u01/app/ogg/ogg_home/network/admin/tnsnames.ora

# Test resolution
tnsping SRCDB

7. GCP Firewall Rules

Two firewall rules are needed: one for inter-VM traffic, one for browser access to the OGG Web UI.

# Allow inter-VM traffic on all OGG ports
gcloud compute firewall-rules create allow-ogg-internal \
  --project=<your-project> \
  --direction=INGRESS --network=default --action=ALLOW \
  --rules=tcp:9100-9204 --source-ranges=10.142.0.0/24

# Allow browser access (replace YOUR_IP)
gcloud compute firewall-rules create allow-ogg-browser \
  --project=<your-project> \
  --direction=INGRESS --network=default --action=ALLOW \
  --rules=tcp:9100,9101,9200,9201 --source-ranges=YOUR_IP/32

Note: OGG services bind to 127.0.0.1 by default. Set HOST_SERVICEMANAGER=0.0.0.0 in oggca.rsp before deployment creation to bind to all interfaces.


8. Snowflake Preparation

8.1 RSA Key Pair Generation

Generate on the hub VM as the ogg user:

# Generate private key
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM \
  -out /u01/app/ogg/ogg_deploy/etc/conf/ogg/snowflake_rsa_key.p8 -nocrypt

# Extract public key (copy this output)
openssl rsa -in /u01/app/ogg/ogg_deploy/etc/conf/ogg/snowflake_rsa_key.p8 \
  -pubout 2>/dev/null | grep -v 'PUBLIC KEY' | tr -d '\n'

8.2 Snowflake Setup

USE ROLE ACCOUNTADMIN;

-- Create OGG user
CREATE USER IF NOT EXISTS OGG_USER
  DEFAULT_ROLE = SYSADMIN
  DEFAULT_WAREHOUSE = COMPUTE_WH
  MUST_CHANGE_PASSWORD = FALSE;

-- Register public key (paste key string from above)
ALTER USER OGG_USER SET RSA_PUBLIC_KEY='<paste_public_key_here>';

-- Create target database and schema
CREATE DATABASE IF NOT EXISTS OGG_REPLICATION;
CREATE SCHEMA IF NOT EXISTS OGG_REPLICATION.COMICS;

-- Grant privileges
GRANT ROLE SYSADMIN TO USER OGG_USER;
GRANT ALL ON DATABASE OGG_REPLICATION TO ROLE SYSADMIN;
GRANT ALL ON SCHEMA OGG_REPLICATION.COMICS TO ROLE SYSADMIN;
GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE SYSADMIN;

ALTER WAREHOUSE COMPUTE_WH RESUME IF SUSPENDED;

8.3 Finding Your Snowflake Account Identifier

-- Run in Snowflake worksheet
SELECT CURRENT_ORGANIZATION_NAME() || '-' || CURRENT_ACCOUNT_NAME();
-- Example result: DTDKDSZ-UDC61024
-- Use as: jdbc:snowflake://DTDKDSZ-UDC61024.snowflakecomputing.com/...

9. Configuring the Replication Pipeline

9.1 Add Database Credential (Source VM)

curl -u oggdeploy:Ogg_Admin26 \
  -X POST 'http://localhost:9101/services/v2/credentials/OracleGoldenGate/SRCDB' \
  -H 'Content-Type: application/json' \
  -d '{"userid": "C##OGGADMIN@SRCDB", "password": "OggAdmin_2026"}'

9.2 Create and Register Extract (adminclient)

/u01/app/ogg/ogg_home/bin/adminclient

connect http://localhost:9101 as oggdeploy password Ogg_Admin26

dblogin useridalias SRCDB domain OracleGoldenGate

-- Register Extract with Oracle LogMiner (required for CDB)
register extract EXTSRC database container (SRCDBPDB)

-- Create Extract and trail
add extract EXTSRC, integrated tranlog, begin now
add exttrail lt, extract EXTSRC, megabytes 500

9.3 EXTSRC.prm Parameter File

Save to: /u01/app/ogg/ogg_deploy/etc/conf/ogg/EXTSRC.prm

EXTRACT EXTSRC
USERIDALIAS SRCDB DOMAIN OracleGoldenGate
EXTTRAIL lt
LOGALLSUPCOLS
UPDATERECORDFORMAT COMPACT
TABLE SRCDBPDB.COMICS.*;

9.4 Network Credentials (Both VMs)

Add Network domain credentials on both VMs for Distribution Path authentication:

# Source VM (port 9101)
curl -u oggdeploy:Ogg_Admin26 \
  -X POST 'http://localhost:9101/services/v2/credentials/Network/oggdeploy' \
  -H 'Content-Type: application/json' \
  -d '{"userid": "oggdeploy", "password": "Ogg_Admin26"}'

# Hub VM (port 9201)
curl -u oggdeploy:Ogg_Admin26 \
  -X POST 'http://localhost:9201/services/v2/credentials/Network/oggdeploy' \
  -H 'Content-Type: application/json' \
  -d '{"userid": "oggdeploy", "password": "Ogg_Admin26"}'

9.5 Replicat Parameter File (REPSF.prm)

REPLICAT REPSF
TARGETDB LIBFILE libggjava.so SET property=/u01/app/ogg/ogg_deploy/etc/conf/ogg/REPSF.properties
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 1000
DISCARDFILE /u01/app/ogg/ogg_deploy/var/lib/dirrpt/REPSF.dsc, APPEND, MEGABYTES 500
MAP SRCDBPDB.COMICS.*, TARGET COMICS.*;

9.6 Replicat Properties File (REPSF.properties)

Important: OGG 26ai DAA uses gg.target=snowflake and gg.eventhandler.snowflake.*NOT the older gg.handlerlist format.

gg.target=snowflake
gg.eventhandler.snowflake.connectionURL=jdbc:snowflake://<ACCOUNT>.snowflakecomputing.com/?user=OGG_USER&db=OGG_REPLICATION&schema=COMICS&warehouse=COMPUTE_WH&CLIENT_SESSION_KEEP_ALIVE=true&authenticator=snowflake_jwt&private_key_file=/u01/app/ogg/ogg_deploy/etc/conf/ogg/snowflake_rsa_key.p8
gg.eventhandler.snowflake.UserName=OGG_USER
gg.classpath=/u01/app/ogg/ogg_home/opt/DependencyDownloader/dependencies/snowflake-jdbc-3.26.1/snowflake-jdbc-3.26.1.jar
goldengate.userexit.writers=jvm
jvm.bootoptions=-Xmx512m -Xms64m

Replace <ACCOUNT> with your Snowflake organization-based identifier (e.g. DTDKDSZ-UDC61024).

9.7 Create Distribution Path (Web UI)

In the source VM Web UI (http://<source-external-ip>:9101), log in as oggdeploy and navigate to Distribution Service Paths > Add Path:

Field Value
Path Name DISTPATH
Source Extract EXTSRC
Trail Name lt
Target Protocol ws
Target Host 10.142.0.3 (hub VM internal IP)
Port Number 9203
Target Trail Name rt
Domain Network
Alias oggdeploy

10. Verification and Testing

10.1 Check All Processes Running

# Source VM — adminclient
connect http://localhost:9101 as oggdeploy password Ogg_Admin26
info all

# Expected:
# EXTRACT   RUNNING   EXTSRC   INTEGRATED   00:00:00   <seconds>

# Hub VM
connect http://localhost:9201 as oggdeploy password Ogg_Admin26
info all

# Expected:
# REPLICAT   RUNNING   REPSF   ...

10.2 Test Real-Time Replication

Insert test data in Oracle and verify it appears in Snowflake within seconds:

-- Oracle: Insert test data
ALTER SESSION SET CONTAINER=SRCDBPDB;

INSERT INTO COMICS.PUBLISHERS (NAME) VALUES ('Marvel Comics');

INSERT INTO COMICS.SERIES (BP_SERIES_ID, DISPLAY_NAME, LAST_NAME, SORT_NAME, IS_COMPLETE)
  VALUES (9001, 'Amazing Spider-Man', 'Amazing Spider-Man', 'Amazing Spider-Man', 'N');

INSERT INTO COMICS.OWNERS (DISPLAY_NAME) VALUES ('Test Owner');

INSERT INTO COMICS.COMICS (
  HASH, SERIES_ID, ISSUE_NR, ISSUE_TITLE, PUBLISHER_ID,
  COVER_YEAR, COVER_MONTH, PAGE_COUNT, COVER_PRICE, CURRENT_PRICE,
  FORMAT, COUNTRY, LANGUAGE, QUANTITY, READ_IT, IS_SLABBED,
  STATUS_ID, OWNER_ID, ADDED_TIMESTAMP, MODIFIED_TIMESTAMP,
  CREATED_AT, UPDATED_AT
) VALUES (
  'ABC123HASH001',
  (SELECT SERIES_ID FROM COMICS.SERIES WHERE DISPLAY_NAME = 'Amazing Spider-Man'),
  '300', 'The Amazing Spider-Man #300',
  (SELECT PUBLISHER_ID FROM COMICS.PUBLISHERS WHERE NAME = 'Marvel Comics'),
  1988, 5, 25, 0.75, 450.00, 'Standard', 'USA', 'English',
  1, 'Y', 'N', 9001,
  (SELECT OWNER_ID FROM COMICS.OWNERS WHERE DISPLAY_NAME = 'Test Owner'),
  1711843200, 1711843200, SYSTIMESTAMP, SYSTIMESTAMP
);

COMMIT;
-- Snowflake: Verify replication (~30 seconds later)
USE DATABASE OGG_REPLICATION;
USE SCHEMA COMICS;
SHOW TABLES;
SELECT COMIC_ID, ISSUE_TITLE, COVER_YEAR, CURRENT_PRICE FROM COMICS;

10.3 Web UI URLs

Service URL
Source Service Manager http://<source-external-ip>:9100
Source Admin Service http://<source-external-ip>:9101
Hub Service Manager http://<hub-external-ip>:9200
Hub Admin Service http://<hub-external-ip>:9201

Login with: oggdeploy / Ogg_Admin26


11. Troubleshooting Reference

11.1 Common Errors and Fixes

Error Cause Fix
INS-75022 Install option not specified Wrong INSTALL_OPTION value in oggcore.rsp Use ORA23ai for Oracle binary, Generic for DAA binary
INS-85037 Deployment creation failed / OGG-12064 401 Unauthorized Password mismatch or weak password policy Use strong password: uppercase + lowercase + digit + special char. Use different SM and deployment usernames.
ORA-12154 Cannot connect to database TNS_ADMIN not set or tnsnames.ora missing Copy Oracle tnsnames.ora to /u01/app/ogg/ogg_home/network/admin/ and export TNS_ADMIN before oggca.sh
OGG-02024 Failed to gather logmining info OGG apply process dropped after recreation Run: register extract EXTSRC database container (SRCDBPDB) in adminclient
ClassNotFoundException: snowflake Wrong properties file format (old gg.handlerlist= format) Use gg.target=snowflake and gg.eventhandler.snowflake.* format
HTTP 404 on Snowflake connect Wrong account identifier in JDBC URL Run `SELECT CURRENT_ORGANIZATION_NAME()
Missing user name for opening session Username not in JDBC URL Add user=OGG_USER as URL parameter in connectionURL
NoSuchFileException: rsa_key.p8 Key file path wrong or deleted during reinstall Regenerate RSA key pair and re-register public key in Snowflake
OGG-30402 Alias not found in domain Network Network credential not added to hub VM POST to /services/v2/credentials/Network/oggdeploy on hub VM port 9201
Connection refused on port 9203 Services bound to 127.0.0.1 only Set HOST_SERVICEMANAGER=0.0.0.0 in oggca.rsp, or edit deploymentConfiguration.dat
ORA-32795 Cannot insert into identity column Specifying value for GENERATED ALWAYS column Omit identity columns from INSERT — let Oracle auto-generate them

11.2 Useful Diagnostic Commands

# Check OGG process status
systemctl status OracleGoldenGate

# Check ports listening
ss -tlnp | grep -E '910|920'

# Check Replicat report file
tail -50 /u01/app/ogg/ogg_deploy/var/lib/report/REPSF.rpt

# Check error log
tail -30 /u01/app/ogg/ogg_deploy/var/log/ggserr.log

# Verify Snowflake connection URL
grep connectionURL /u01/app/ogg/ogg_deploy/etc/conf/ogg/REPSF.properties

# REST API — check deployments
curl -u oggdeploy:Ogg_Admin26 http://localhost:9101/services/v2/deployments
curl -u oggdeploy:Ogg_Admin26 http://localhost:9201/services/v2/deployments

12. Credentials and Ports Summary

12.1 OGG Credentials

Account Credentials
Service Manager (both VMs) oggadmin / Ogg_Admin26
Deployment Admin (both VMs) oggdeploy / Ogg_Admin26
Oracle OGG User (CDB) C##OGGADMIN / OggAdmin_2026
Snowflake OGG User OGG_USER / RSA key pair auth

12.2 Port Reference

VM Service Port
oraksddblab1 (source) Service Manager 9100
oraksddblab1 (source) Admin Service 9101
oraksddblab1 (source) Distribution Service 9102
oraksddblab1 (source) Receiver Service 9103
oraksddblab1 (source) Performance Metrics 9104
oraksdprod (hub) Service Manager 9200
oraksdprod (hub) Admin Service 9201
oraksdprod (hub) Distribution Service 9202
oraksdprod (hub) Receiver Service 9203
oraksdprod (hub) Performance Metrics 9204

11 views