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:

  1. Download the GoldenGate 23ai software build for the required source/target technology
  2. Install the GoldenGate core binaries for each technology using runInstaller with an oggcore response file
  3. Create one or more deployments using the Oracle GoldenGate Configuration Assistant (oggca.sh) in silent mode with an oggca response 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:

  1. Unzip the software
  2. Go into the Disk1 directory where runInstaller is located
  3. Execute runInstaller in silent mode using the appropriate oggcore<tech>.rsp response 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 installing
  • SOFTWARE_LOCATION → Where GoldenGate binaries will be installed
  • INVENTORY_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:

TechnologyINSTALL_OPTIONSOFTWARE_LOCATION
Oracle DatabaseORA23ai/u01/app/product/ogg23ai/oracledb
DAA (Big Data)Generic/u01/app/product/ogg23ai/bigdata
MySQLMySQL/u01/app/product/ogg23ai/mysql
PostgreSQLPostgreSQL/u01/app/product/ogg23ai/postgresql
Microsoft SQL ServerMSSQL/u01/app/product/ogg23ai/mssql
Db2 z/OSDB2ZOS/u01/app/product/ogg23ai/db2zos
Db2 LUWDB2LUW/u01/app/product/ogg23ai/db2luw
Db2 iSeries (AS/400)DB2400/u01/app/product/ogg23ai/db2400
TeradataTeradata/u01/app/product/ogg23ai/teradata
TimesTenTimesTen/u01/app/product/ogg23ai/timesten
SybaseSybase/u01/app/product/ogg23ai/sybase

The SOFTWARE_LOCATION values 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_HOME is the same directory defined by SOFTWARE_LOCATION during 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

TechnologyKey Environment Variables
Oracle DatabaseENV_LD_LIBRARY_PATH=
ENV_TNS_ADMIN=
ENV_STREAMS_POOL_SIZE=
MySQLENV_LD_LIBRARY_PATH=
PostgreSQLENV_LD_LIBRARY_PATH=
ENV_POSTGRESQL_ODBCINST=
SQL ServerENV_LD_LIBRARY_PATH=
ENV_MSSQL_ODBCINST=
Db2 z/OSENV_LD_LIBRARY_PATH=
IBMCLIDRIVER=
Db2 LUWENV_DB2INSTANCE=
Db2 iSeriesENV_LD_LIBRARY_PATH=
IBMCLIDRIVER=
ENV_JAVA_HOME_DB2400=
TeradataENV_TERADATA_LD_PRELOAD=
TimesTenENV_TIMESTEN_HOME=
ENV_TIMESTEN_PATH=
ENV_TIMESTEN_CLASSPATH=
SybaseENV_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 oggcore and oggca response 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.