Installing Oracle GoldenGate 23ai typically requires using silent mode, as most modern Linux systems—especially in enterprise environments—do not provide a graphical or X-Windows interface.
This installation approach can feel uncomfortable for many users. However, the process is actually simple and predictable once you understand two key aspects:
- Which parameters in the response files really matter
- What values those parameters must have for each technology (Oracle, MySQL, PostgreSQL, SQL Server, Db2, and others)
High-Level Overview
The GoldenGate 23ai installation process can be summarized in three steps:
- Download the GoldenGate 23ai software build for the required source/target technology
- Install the GoldenGate core binaries for each technology using
runInstallerwith anoggcoreresponse file - Create one or more deployments using the Oracle GoldenGate Configuration Assistant (
oggca.sh) in silent mode with anoggcaresponse file
Bonus:
To deep dive into the Oracle GoldenGate Microservices Architecture, see the official documentation.
Step 1 – Download Oracle GoldenGate 23ai
You can download Oracle GoldenGate 23ai from:
Recommendation:
Always apply the latest bundle patch available for GoldenGate 23ai.
Step 2 – Installing GoldenGate 23ai Software in Silent Mode
The GoldenGate software is installed by running the runInstaller binary located in the directory where you extracted the software downloaded in the previous step.
For each technology (Oracle, MySQL, PostgreSQL, etc.), follow these steps:
- Unzip the software
- Go into the
Disk1directory whererunInstalleris located - Execute
runInstallerin silent mode using the appropriateoggcore<tech>.rspresponse file
Understanding oggcore.rsp
Oracle provides a response file template (oggcore.rsp) in every GoldenGate 23ai software build.
Once you remove the comments, you will notice that only four parameters really matter:
INSTALL_OPTION→ Which technology you are installingSOFTWARE_LOCATION→ Where GoldenGate binaries will be installedINVENTORY_LOCATION→ Oracle inventory location (only required for the first Oracle product installation)UNIX_GROUP_NAME→ Unix group that owns the inventory
INSTALL_OPTION and SOFTWARE_LOCATION by Technology
The following table summarizes the values to use for each technology:
| Technology | INSTALL_OPTION | SOFTWARE_LOCATION |
|---|---|---|
| Oracle Database | ORA23ai | /u01/app/product/ogg23ai/oracledb |
| DAA (Big Data) | Generic | /u01/app/product/ogg23ai/bigdata |
| MySQL | MySQL | /u01/app/product/ogg23ai/mysql |
| PostgreSQL | PostgreSQL | /u01/app/product/ogg23ai/postgresql |
| Microsoft SQL Server | MSSQL | /u01/app/product/ogg23ai/mssql |
| Db2 z/OS | DB2ZOS | /u01/app/product/ogg23ai/db2zos |
| Db2 LUW | DB2LUW | /u01/app/product/ogg23ai/db2luw |
| Db2 iSeries (AS/400) | DB2400 | /u01/app/product/ogg23ai/db2400 |
| Teradata | Teradata | /u01/app/product/ogg23ai/teradata |
| TimesTen | TimesTen | /u01/app/product/ogg23ai/timesten |
| Sybase | Sybase | /u01/app/product/ogg23ai/sybase |
The
SOFTWARE_LOCATIONvalues shown here are just a recommendation.
You can adapt them to your own filesystem standards.
Real oggcore.rsp Examples
Oracle Database
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v23_1_0
INSTALL_OPTION=ORA23ai
SOFTWARE_LOCATION=/u01/app/product/ogg23ai/oracledb
INVENTORY_LOCATION=/u01/app/oraInventory
UNIX_GROUP_NAME=oinstall
MySQL
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v23_1_0
INSTALL_OPTION=MySQL
SOFTWARE_LOCATION=/u01/app/product/ogg23ai/mysql
INVENTORY_LOCATION=/u01/app/oraInventory
UNIX_GROUP_NAME=oinstall
The pattern is always the same:
only INSTALL_OPTION and SOFTWARE_LOCATION change.
Example – Installing GoldenGate 23ai Binaries in Silent Mode
# Unzip the software
[oracle@oralinux9 oracle]$ unzip V1042871-01.zip
[oracle@oralinux9 oracle]$ cd /home/oracle/software/oracle/fbo_ggs_Linux_x64_Oracle_services_shiphome/Disk1
[oracle@oralinux9 Disk1]$ pwd
/home/oracle/software/oracle/fbo_ggs_Linux_x64_Oracle_services_shiphome/Disk1
[oracle@oralinux9 Disk1]$ ls -l
total 8
drwxr-xr-x. 4 oracle oinstall 187 May 29 2024 install
drwxrwxr-x. 2 oracle oinstall 25 May 29 2024 response
-rwxr-xr-x. 1 oracle oinstall 918 May 29 2024 runInstaller
drwxr-xr-x. 12 oracle oinstall 4096 May 29 2024 stage
# Run silent installation
[oracle@oralinux9 Disk1]$ pwd
/home/oracle/software/oracle/fbo_ggs_Linux_x64_Oracle_services_shiphome/Disk1
[oracle@oralinux9 Disk1]$ ./runInstaller -silent -nowait -responseFile /home/oracle/oggcore_rsp/oggcore23ai_oracle.rsp
Starting Oracle Universal Installer…
Checking Temp space: must be greater than 120 MB. Actual 455859 MB Passed
Checking swap space: must be greater than 150 MB. Actual 6143 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2025-11-18_11-38-39PM. Please wait …
[oracle@oralinux9 Disk1]$ You can find the log of this install session at:
/tmp/OraInstall2025-11-18_11-38-39PM/installActions2025-11-18_11-38-39PM.log
The installation of Oracle GoldenGate Services was successful.
Please check ‘/u01/app/oraInventory/logs/silentInstall2025-11-18_11-38-39PM.log’ for more details.
As a root user, run the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
Successfully Setup Software.
The log of this install session can be found at:
/u01/app/oraInventory/logs/installActions2025-11-18_11-38-39PM.log
After the installation completes, run the inventory script as root:
[oracle@oralinux9 Disk1]$ sudo /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
The installation process for the other technologies is exactly the same—just use the correct software build and response file.
Step 3 – Creating Deployments with oggca.sh
Once the GoldenGate23ai software is installed, the next step is to create deployments.
A deployment is a configuration package that defines the GoldenGate Microservices components (Administration Server, Distribution Server, Receiver Server, Performance Metrics Server, etc.) for a specific technology.
Deployments are created using the Oracle GoldenGate Configuration Assistant:
$OGG_HOME/bin/oggca.sh
OGG_HOMEis the same directory defined bySOFTWARE_LOCATIONduring the previous installation step.
Environment Variables by Technology (Deployments)
Oracle provides a sample OGGCA response file (OGGCA Sample Template Response File for Silent Deployment).
You need to fill out all the parameters, for each section, according with your type of deployment creation: services ports, security, users, passwords, directories, etc.
You should follow the clear instructions, provided in the template, for each section:
SECTION A - GENERAL
SECTION B - ADMINISTRATOR ACCOUNT
SECTION C - SERVICE MANAGER
SECTION D - CONFIGURATION SERVICE
SECTION E - SOFTWARE HOME
SECTION F - DEPLOYMENT DIRECTORIES
SECTION G - ENVIRONMENT VARIABLES
SECTION H - SECURITY
SECTION I - SERVICES
SECTION J - REPLICATION OPTIONS
SECTION K - REMOVE DEPLOYMENT OPTIONS
All parameters all well explain in the oggca.rsp template, except
Section G: ENVIRONMENT VARIABLES
where you have technology-specific variables that you can’t find in the oggca.rsp sample response file.
The following table show you the parameters you must configure for each different technology:
Summary Table
| Technology | Key Environment Variables |
|---|---|
| Oracle Database | ENV_LD_LIBRARY_PATH= ENV_TNS_ADMIN= ENV_STREAMS_POOL_SIZE= |
| MySQL | ENV_LD_LIBRARY_PATH= |
| PostgreSQL | ENV_LD_LIBRARY_PATH= ENV_POSTGRESQL_ODBCINST= |
| SQL Server | ENV_LD_LIBRARY_PATH= ENV_MSSQL_ODBCINST= |
| Db2 z/OS | ENV_LD_LIBRARY_PATH= IBMCLIDRIVER= |
| Db2 LUW | ENV_DB2INSTANCE= |
| Db2 iSeries | ENV_LD_LIBRARY_PATH= IBMCLIDRIVER= ENV_JAVA_HOME_DB2400= |
| Teradata | ENV_TERADATA_LD_PRELOAD= |
| TimesTen | ENV_TIMESTEN_HOME= ENV_TIMESTEN_PATH= ENV_TIMESTEN_CLASSPATH= |
| Sybase | ENV_LD_LIBRARY_PATH= ENV_SYBASE= |
To find the right values for each technology you should check GoldenGate 23ai Installation Guide
Real Example – Creating Service Manager + Big Data Deployment
The first deployment on a host must also create the Service Manager.
This response file:
- Creates the Service Manager (
srvmgr23ai) - Creates a Big Data deployment (
bigdata)
“oggca_23ai_srvmgr23_bigdata.rsp”
oracle.install.responseFileVersion=/oracle/install/rspfmt_oggca_response_schema_v23_1_0
# SECTION A - GENERAL
CONFIGURATION_OPTION=ADD
DEPLOYMENT_NAME=bigdata
# SECTION B - ADMINISTRATOR ACCOUNT
ADMINISTRATOR_USER=oggadmin
ADMINISTRATOR_PASSWORD=xxxxxx
DEPLOYMENT_ADMINISTRATOR_USER=oggadmin
DEPLOYMENT_ADMINISTRATOR_PASSWORD=xxxxxxxx
# SECTION C - SERVICE MANAGER
SERVICEMANAGER_DEPLOYMENT_HOME=/u01/deployments/srvmgr23ai
SERVICEMANAGER_ETC_HOME=/u01/deployments/srvmgr23ai/etc
SERVICEMANAGER_CONF_HOME=/u01/deployments/srvmgr23ai/etc/conf
SERVICEMANAGER_SSL_HOME=/u01/deployments/srvmgr23ai/etc/ssl
SERVICEMANAGER_VAR_HOME=/u01/deployments/srvmgr23ai/var
SERVICEMANAGER_DATA_HOME=/u01/deployments/srvmgr23ai/var/lib/data
SERVICEMANAGER_ARCHIVE_HOME=/u01/deployments/srvmgr23ai/var/lib/archive
HOST_SERVICEMANAGER=localhost
PORT_SERVICEMANAGER=10000
SECURITY_ENABLED=false
STRONG_PWD_POLICY_ENABLED=false
CREATE_NEW_SERVICEMANAGER=true
REGISTER_SERVICEMANAGER_AS_A_SERVICE=true
ENABLE_SERVICE_MANAGER_REMOTE_METRICS=false
SERVICE_MANAGER_REMOTE_METRICS_LISTENING_HOST=
SERVICE_MANAGER_REMOTE_METRICS_LISTENING_PORT=0
# SECTION D - CONFIGURATION SERVICE
CONFIGURATION_SERVICE_ENABLED=false
CONFIGURATION_SERVICE_BACKEND_TYPE=FILESYSTEM
CONFIGURATION_SERVICE_BACKEND_CONNECTION_STRING=
CONFIGURATION_SERVICE_BACKEND_USERNAME=
CONFIGURATION_SERVICE_BACKEND_PASSWORD=
CONFIGURATION_SERVICE_BACKEND_TABLE_NAME=
# SECTION E - SOFTWARE HOME
OGG_SOFTWARE_HOME=/u01/app/product/ogg23ai/bigdata
# SECTION F - DEPLOYMENT DIRECTORIES
OGG_DEPLOYMENT_HOME=/u01/deployments/bigdata
OGG_ETC_HOME=/u01/deployments/bigdata/etc
OGG_CONF_HOME=/u01/deployments/bigdata/etc/conf
OGG_SSL_HOME=/u01/deployments/bigdata/etc/ssl
OGG_VAR_HOME=/u01/deployments/bigdata/var
OGG_DATA_HOME=/u01/deployments/bigdata/var/lib/data
OGG_ARCHIVE_HOME=/u01/deployments/bigdata/var/lib/archive
###################################################################
# SECTION G - ENVIRONMENT VARIABLES
ENV_LD_LIBRARY_PATH=${OGG_HOME}/jdk/lib/server:${OGG_HOME}/lib:/lib:/usr/lib
ENV_USER_VARS=
###################################################################
# SECTION H - SECURITY
TLS_1_2_ENABLED=false
TLS_1_3_ENABLED=true
FIPS_ENABLED=false
SERVER_CERTIFICATE=
SERVER_CERTIFICATE_KEY_FILE=
SERVER_CA_CERTIFICATES_FILE=
CLIENT_CERTIFICATE=
CLIENT_CERTIFICATE_KEY_FILE=
CLIENT_CA_CERTIFICATES_FILE=
# SECTION I - SERVICES
ADMINISTRATION_SERVER_ENABLED=true
PORT_ADMINSRVR=10101
DISTRIBUTION_SERVER_ENABLED=true
PORT_DISTSRVR=10102
NON_SECURE_DISTSRVR_CONNECTS_TO_SECURE_RCVRSRVR=false
RECEIVER_SERVER_ENABLED=true
PORT_RCVRSRVR=10103
METRICS_SERVER_ENABLED=true
PORT_PMSRVR=10104
PMSRVR_DATASTORE_TYPE=BDB
PMSRVR_DATASTORE_HOME=
ENABLE_DEPLOYMENT_REMOTE_METRICS=false
DEPLOYMENT_REMOTE_METRICS_LISTENING_HOST=
DEPLOYMENT_REMOTE_METRICS_LISTENING_PORT=0
# SECTION J - REPLICATION OPTIONS
OGG_SCHEMA=
# SECTION K - REMOVE DEPLOYMENT OPTIONS
REMOVE_DEPLOYMENT_FROM_DISK=
# INSTALL STEP-BY-STEP
[oracle@oralinux9]$ /u01/app/product/ogg23ai/bigdata/bin/oggca.sh -silent -nowait -responseFile /home/oracle/oggca_rsp/oggca_23ai_srvmgr23_bigdata.rsp
As part of the process of registering Service Manager as a system daemon, the following steps will be performed:
1- The deployment will be stopped before registering the Service Manager as a daemon.
2- A new popup window will show the details of the script used to register the Service Manager as a daemon.
3- After the register script is executed, the Service Manager daemon will be started in the background and the deployment will be automatically restarted.
Click “OK” to continue.
In order to register Service Manager as a system service/daemon, as a “root” user, execute the following script:
(1). /u01/deployments/srvmgr23ai/bin/registerServiceManager.sh
To execute the configuration scripts:
1.Open a terminal window
2.Login as “root”
3.Run the script
Successfully Setup Software.
# As root, register Service Manager as a system service
[root@oralinux9 ~]# /u01/deployments/srvmgr23ai/bin/registerServiceManager.sh
Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
—————————————————-
Oracle GoldenGate Install As Service Script
—————————————————-
OGG_HOME=/u01/app/product/ogg23ai/bigdata
OGG_CONF_HOME=/u01/deployments/srvmgr23ai/etc/conf
OGG_VAR_HOME=/u01/deployments/srvmgr23ai/var
OGG_USER=oracle
Running OracleGoldenGateInstall.sh…
Successfully Setup Software.
Example – Adding an Oracle Database Deployment to this OGG HUB
DEPLOYMENT NAME=oracle
DEPLOYMENT_HOME=/u01/deployments/oracledb23ai
OGG_HOME=/u01/app/product/ogg23ai/oracledb
# oggca23ai_oracledb.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_oggca_response_schema_v23_1_0
CONFIGURATION_OPTION=ADD
DEPLOYMENT_NAME=oracle
ADMINISTRATOR_USER=oggadmin
ADMINISTRATOR_PASSWORD=xxxxxx
DEPLOYMENT_ADMINISTRATOR_USER=oggadmin
DEPLOYMENT_ADMINISTRATOR_PASSWORD=xxxxx
SERVICEMANAGER_DEPLOYMENT_HOME=
SERVICEMANAGER_ETC_HOME=
SERVICEMANAGER_CONF_HOME=
SERVICEMANAGER_SSL_HOME=
SERVICEMANAGER_VAR_HOME=
SERVICEMANAGER_DATA_HOME=
SERVICEMANAGER_ARCHIVE_HOME=
HOST_SERVICEMANAGER=localhost
PORT_SERVICEMANAGER=10000
SECURITY_ENABLED=false
STRONG_PWD_POLICY_ENABLED=false
CREATE_NEW_SERVICEMANAGER=false
REGISTER_SERVICEMANAGER_AS_A_SERVICE=false
INTEGRATE_SERVICEMANAGER_WITH_XAG=false
EXISTING_SERVICEMANAGER_IS_XAG_ENABLED=false
ENABLE_SERVICE_MANAGER_REMOTE_METRICS=false
SERVICE_MANAGER_REMOTE_METRICS_LISTENING_HOST=
SERVICE_MANAGER_REMOTE_METRICS_LISTENING_PORT=0
CONFIGURATION_SERVICE_ENABLED=false
CONFIGURATION_SERVICE_BACKEND_TYPE=FILESYSTEM
CONFIGURATION_SERVICE_BACKEND_CONNECTION_STRING=
CONFIGURATION_SERVICE_BACKEND_USERNAME=
CONFIGURATION_SERVICE_BACKEND_PASSWORD=
CONFIGURATION_SERVICE_BACKEND_TABLE_NAME=
OGG_SOFTWARE_HOME=/u01/app/product/ogg23ai/oracledb
OGG_DEPLOYMENT_HOME=/u01/deployments/oracledb23ai
OGG_ETC_HOME=/u01/deployments/oracledb23ai/etc
OGG_CONF_HOME=/u01/deployments/oracledb23ai/etc/conf
OGG_SSL_HOME=/u01/deployments/oracledb23ai/etc/ssl
OGG_VAR_HOME=/u01/deployments/oracledb23ai/var
OGG_DATA_HOME=/u01/deployments/oracledb23ai/var/lib/data
OGG_ARCHIVE_HOME=/u01/deployments/oracledb23ai/var/lib/archive
###################################################################
# SECTION G - ENVIRONMENT VARIABLES
ENV_LD_LIBRARY_PATH=${OGG_HOME}/lib/instantclient:${OGG_HOME}/lib
ENV_TNS_ADMIN=/home/oracle/tnsadmin
ENV_STREAMS_POOL_SIZE=
ENV_USER_VARS=
###################################################################
TLS_1_2_ENABLED=false
TLS_1_3_ENABLED=true
FIPS_ENABLED=false
SERVER_CERTIFICATE=
SERVER_CERTIFICATE_KEY_FILE=
SERVER_CA_CERTIFICATES_FILE=
CLIENT_CERTIFICATE=
CLIENT_CERTIFICATE_KEY_FILE=
CLIENT_CA_CERTIFICATES_FILE=
ADMINISTRATION_SERVER_ENABLED=true
PORT_ADMINSRVR=10201
DISTRIBUTION_SERVER_ENABLED=true
PORT_DISTSRVR=10202
NON_SECURE_DISTSRVR_CONNECTS_TO_SECURE_RCVRSRVR=false
RECEIVER_SERVER_ENABLED=true
PORT_RCVRSRVR=10203
METRICS_SERVER_ENABLED=true
METRICS_SERVER_IS_CRITICAL=false
PORT_PMSRVR=10204
PMSRVR_DATASTORE_TYPE=BDB
PMSRVR_DATASTORE_HOME=
ENABLE_DEPLOYMENT_REMOTE_METRICS=false
DEPLOYMENT_REMOTE_METRICS_LISTENING_HOST=
DEPLOYMENT_REMOTE_METRICS_LISTENING_PORT=0
OGG_SCHEMA=oggadmin
REMOVE_DEPLOYMENT_FROM_DISK=
# The execution:
[oracle@oralinux9]$ /u01/app/product/ogg23ai/oracledb/bin/oggca.sh -silent -responseFile /home/oracle/oggca_rsp/oggca_23ai_oracledb.rsp
Successfully Setup Software.
Note: All directories defined in the response files are automatically created if they do not exist.
Bonus: Both
oggcoreandoggcaresponse files can also be generated from a GUI-based installation by clicking Save Response File at the end of the installer.
Wrap-up
With these response files and reference tables, the goal is to make the silent installation of GoldenGate 23ai:
- Simple
- Repeatable
- Easy to automate
My recommendation is to adapt these paths and parameters to your internal standards and reuse them across development, test, PoC, and training environments.
Once you get used to it, silent install quickly becomes the fastest, cleanest, and most reproducible way to deploy Oracle GoldenGate 23ai.
