Tuesday, June 10, 2025

Oracle GoldenGate 23ai Installation || Oracle

  • Introduction: Oracle GoldenGate (OGG) is a real-time data replication platform enabling seamless data integration between heterogeneous databases. It supports high throughput, minimal latency, and advanced deployment architectures. It is CDC (Change Data Capture) tool that captures committed changes from the source database transaction logs and replicates them to a target database. In this article we will be doing the installation of Oracle GoldenGate 23ai (version 23.4.1.24.05) for Oracle.

  • Prerequisites: Below are the minimum requirements for Linux environment.
    • CPU - 2core
    • RAM - 4GB
    • Disk space - 25GB
    • OS - Oracle Linux 8/9
    • Latest Oracle Instant client

  • Software Download:

  • Environment Used:
    • Hostname: ogg.oraeasy.com
    • IP: 192.168.101.9
    • OS: OL9

  • Directory Used:
    • Oracle Client Home: /u01/app/instantclient_23_7
    • OGG Home: /ogg/ogg23ai_ma
    • OGG Service Manager: /ogg/ogg23ai_sm
    • OGG Deployment Home: /ogg/ogg23ai_deploy

  • Now start installation step by step:
1. Prepare OS for installation

Install Packages

[root@ogg ~]# dnf install compat-openssl11 Last metadata expiration check: 0:26:18 ago on Thu 20 May 2025 12:33:52 AM IST. Dependencies resolved. ============================================================================================================================================================== Package Architecture Version Repository Size ============================================================================================================================================================== Installing: compat-openssl11 x86_64 1:1.1.1k-4.0.1.el9_0 ol9_appstream 1.5 M Transaction Summary ============================================================================================================================================================== Install 1 Package Total download size: 1.5 M Installed size: 3.7 M Is this ok [y/N]: y Downloading Packages: compat-openssl11-1.1.1k-4.0.1.el9_0.x86_64.rpm 1.6 MB/s | 1.5 MB 00:00 -------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.6 MB/s | 1.5 MB 00:00 Oracle Linux 9 Application Stream Packages (x86_64) 5.7 MB/s | 6.2 kB 00:00 Importing GPG key 0x8D8B756F: Userid : "Oracle Linux (release key 1) " Fingerprint: 3E6D 826D 3FBA B389 C2F3 8E34 BC4D 06A0 8D8B 756F From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle Is this ok [y/N]: y Key imported successfully Importing GPG key 0x8B4EFBE6: Userid : "Oracle Linux (backup key 1) " Fingerprint: 9822 3175 9C74 6706 5D0C E9B2 A7DD 0708 8B4E FBE6 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle Is this ok [y/N]: y Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : compat-openssl11-1:1.1.1k-4.0.1.el9_0.x86_64 1/1 Running scriptlet: compat-openssl11-1:1.1.1k-4.0.1.el9_0.x86_64 1/1 Verifying : compat-openssl11-1:1.1.1k-4.0.1.el9_0.x86_64 1/1 Installed: compat-openssl11-1:1.1.1k-4.0.1.el9_0.x86_64 Complete!

Create Oracle user & its Group

[root@ogg ~]# groupadd -g 54321 oinstall [root@ogg ~]# groupadd -g 54322 dba [root@ogg ~]# useradd -u 54321 -g oinstall -G dba oracle [root@ogg ~]# passwd oracle Changing password for user oracle. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully.

Directory Creation & Ownership change

[root@ogg ~]# mkdir -p /u01/app/ [root@ogg ~]# chown -R oracle:oinstall /u01 [root@ogg ~]# chmod -R 775 /u01 [root@ogg ~]# mkdir -p /ogg/ogg23ai_ma [root@ogg ~]# mkdir -p /ogg/ogg23ai_sm [root@ogg ~]# mkdir -p /ogg/ogg23ai_deploy [root@ogg ~]# chown -R oracle:oinstall /ogg [root@ogg ~]# chmod -R 775 /ogg

selinux => permissive

[root@ogg ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. # See also: # https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/using_selinux/changing-selinux-states-and-modes_using-selinux#changing-selinux -modes-at-boot-time_changing-selinux-states-and-modes # # NOTE: Up to RHEL 8 release included, SELINUX=disabled would also # fully disable SELinux during boot. If you need a system with SELinux # fully disabled instead of SELinux running with no policy loaded, you # need to pass selinux=0 to the kernel command line. You can use grubby # to persistently set the bootloader to boot with selinux=0: # # grubby --update-kernel ALL --args selinux=0 # # To revert back to SELinux enabled: # # grubby --update-kernel ALL --remove-args selinux # SELINUX=permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted

Disable firewall

[root@ogg ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled) Active: active (running) since Tue 2025-05-20 11:39:36 IST; 46min ago Docs: man:firewalld(1) Main PID: 750 (firewalld) Tasks: 2 (limit: 21748) Memory: 40.6M CPU: 1.209s CGroup: /system.slice/firewalld.service └─750 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid May 20 11:39:26 ogg.oraeasy.com systemd[1]: Starting firewalld - dynamic firewall daemon... May 20 11:39:36 ogg.oraeasy.com systemd[1]: Started firewalld - dynamic firewall daemon. [root@ogg ~]# [root@ogg ~]# [root@ogg ~]# systemctl stop firewalld [root@ogg ~]# [root@ogg ~]# [root@ogg ~]# systemctl disable firewalld Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service". Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
2. Now install & configure Instant Client.

Place software and unzip them

[oracle@ogg app]$ pwd /u01/app [oracle@ogg app]$ ll -rw-r--r--. 1 oracle oinstall 128438949 May 20 12:38 instantclient-basic-linux.x64-23.7.0.25.01.zip -rw-r--r--. 1 oracle oinstall 5524138 May 20 12:38 instantclient-sqlplus-linux.x64-23.7.0.25.01.zip -rw-r--r--. 1 oracle oinstall 1442360 May 20 12:38 instantclient-tools-linux.x64-23.7.0.25.01.zip [oracle@ogg app]$ unzip instantclient-basic-linux.x64-23.7.0.25.01.zip [oracle@ogg app]$ unzip instantclient-sqlplus-linux.x64-23.7.0.25.01.zip [oracle@ogg app]$ unzip instantclient-tools-linux.x64-23.7.0.25.01.zip [oracle@ogg app]$ ll drwxr-xr-x. 3 oracle oinstall 4096 May 20 12:39 instantclient_23_7 -rw-r--r--. 1 oracle oinstall 128438949 May 20 12:38 instantclient-basic-linux.x64-23.7.0.25.01.zip -rw-r--r--. 1 oracle oinstall 5524138 May 20 12:38 instantclient-sqlplus-linux.x64-23.7.0.25.01.zip -rw-r--r--. 1 oracle oinstall 1442360 May 20 12:38 instantclient-tools-linux.x64-23.7.0.25.01.zip drwxr-xr-x. 2 oracle oinstall 64 May 20 12:39 META-INF

Run below to create symbolic link

[oracle@ogg app]$ ln -s instantclient_23_7

Create tnsnames.ora file and add entry

[oracle@ogg admin]$ cd /u01/app/instantclient_23_7/network/admin [oracle@ogg admin]$ cat tnsnames.ora ORCLDC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.oraeasy.com)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcldc) ) ) ORCLPDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.oraeasy.com)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orclpdb) ) )

Add environmental variables and check login

[oracle@ogg ~]$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export ORACLE_HOME=/u01/app/instantclient_23_7 export TNS_ADMIN=/u01/app/instantclient_23_7/network/admin export PATH=$ORACLE_HOME:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH [oracle@ogg ~]$ [oracle@ogg ~]$ . .bash_profile [oracle@ogg ~]$ [oracle@ogg ~]$ sqlplus sys@ORCLDC as sysdba SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Fri May 20 12:21:49 2025 Version 23.7.0.25.01 Copyright (c) 1982, 2024, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.27.0.0.0 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO SQL>
3. Now place & unzip the OGG software.

[oracle@ogg oggsoft]$ pwd
/u01/oggsoft
[oracle@ogg oggsoft]$ ls -lrth
total 490M
-rw-r--r--. 1 oracle oinstall 490M May 22 00:09 OGG_ORACLE_V1042871-01.zip
[oracle@ogg oggsoft]$
[oracle@ogg oggsoft]$ unzip OGG_ORACLE_V1042871-01.zip
[oracle@ogg oggsoft]$ ls
fbo_ggs_Linux_x64_Oracle_services_shiphome  META-INF  OGG-23ai-README.txt  OGGCORE_Release_Notes_23.4.1.24.05.pdf  OGG_ORACLE_V1042871-01.zip
[oracle@ogg oggsoft]$

4. Now start the OGG installation.

[oracle@ogg oggsoft]$ pwd
/u01/oggsoft
[oracle@ogg oggsoft]$ cd fbo_ggs_Linux_x64_Oracle_services_shiphome/Disk1/
[oracle@ogg Disk1]$
[oracle@ogg Disk1]$ ls
install  response  runInstaller  stage
[oracle@ogg Disk1]$
[oracle@ogg Disk1]$
[oracle@ogg Disk1]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 3693 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 4086 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2025-05-20_01-04-03PM. Please wait ...[oracle@ogg Disk1]$

Now a GUI window will appear. Follow the instructions:
Click Next

Provide OGG Home /ogg/ogg23ai_ma

Click Next

Click Install


Login with root user and run the script. Then click OK

[root@ogg ~]# /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.
[root@ogg ~]#

Click Close

5. Now post Installation of OGG, we will proceed to set up deployments and create a service manager using the OGGCA (Oracle GoldenGate Configuration Assistant) wizard.

[oracle@ogg ~]$ cd /ogg/ogg23ai_ma/
[oracle@ogg ogg23ai_ma]$ ls
bin  deinstall  diagnostics  include  install  inventory  jdk  jlib  lib  OPatch  oraInst.loc  oui  srvm
[oracle@ogg ogg23ai_ma]$
[oracle@ogg ogg23ai_ma]$ cd bin/
[oracle@ogg bin]$ ls
adminclient  cachefiledump  chkptdump      convchk  defgen       distsrvr  extract  logdump   oggerr  pmsrvr    replicat  ServiceManager  XAGTask
adminsrvr    checkprm       ConfigService  convprm  diagnostics  emsclnt   keygen   oggca.sh  orapki  recvsrvr  retrace   trailscan
[oracle@ogg bin]$ ./oggca.sh

Now OGGCA GUI window will appear. Follow the instructions:
Provide the Software Home, Service Manager Home, Hostname/IP and Port

Provide the credential to access OGG console.

Provide the Deployment Name, Deployment Home, Hostname/IP and Port

Check the box and click Next

Click Finish



Click Ok

Login with root user and run the script. Then click OK

[root@ogg ~]# /ogg/ogg23ai_sm/bin/registerServiceManager.sh
Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
----------------------------------------------------
     Oracle GoldenGate Install As Service Script
----------------------------------------------------
OGG_HOME=/ogg/ogg23ai_ma
OGG_CONF_HOME=/ogg/ogg23ai_sm/etc/conf
OGG_VAR_HOME=/ogg/ogg23ai_sm/var
OGG_USER=oracle
Running OracleGoldenGateInstall.sh...
Created symlink /etc/systemd/system/multi-user.target.wants/OracleGoldenGate.service → /etc/systemd/system/OracleGoldenGate.service.
[root@ogg ~]#

Click on Close

6. Now check the OGG service status on server.

[oracle@ogg ~]$ systemctl status OracleGoldenGate
● OracleGoldenGate.service - Oracle GoldenGate Service Manager
     Loaded: loaded (/etc/systemd/system/OracleGoldenGate.service; enabled; preset: disabled)
     Active: active (running) since Sun 2025-05-20 12:31:00 IST; 4min 4s ago
   Main PID: 6992 (ServiceManager)
      Tasks: 111 (limit: 15712)
     Memory: 417.9M
        CPU: 16.257s
     CGroup: /system.slice/OracleGoldenGate.service
             ├─ 6992 /ogg/ogg23ai_ma/bin/ServiceManager --inventory "'/ogg/ogg23ai_sm/etc/conf'"
             ├─7396 /ogg/ogg23ai_ma/bin/adminsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-adminsrvr-config.dat
             ├─7398 /ogg/ogg23ai_ma/bin/distsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-distsrvr-config.dat
             ├─7402 /ogg/ogg23ai_ma/bin/recvsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-recvsrvr-config.dat
             └─7400 /ogg/ogg23ai_ma/bin/pmsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-pmsrvr-config.dat
[oracle@ogg ~]$

[oracle@ogg ~]$ ps -ef|grep ogg23ai
oracle      6992       1  1 May20 ?        00:00:02 /ogg/ogg23ai_ma/bin/ServiceManager --inventory '/ogg/ogg23ai_sm/etc/conf'
oracle      7396    6992  0 May20 ?        00:00:01 /ogg/ogg23ai_ma/bin/adminsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-adminsrvr-config.dat
oracle      7398    6992  5 May20 ?        00:00:06 /ogg/ogg23ai_ma/bin/distsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-distsrvr-config.dat
oracle      7400    6992  4 May20 ?        00:00:05 /ogg/ogg23ai_ma/bin/pmsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-pmsrvr-config.dat
oracle      7402    6992  1 May20 ?        00:00:01 /ogg/ogg23ai_ma/bin/recvsrvr --config /ogg/ogg23ai_sm/var/run/OggOracle-recvsrvr-config.dat
oracle      7540    5386  0 00:00 pts/1    00:00:00 grep --color=auto ogg23ai

7. Now do the login on below URLs with configured credentials.
http://192.168.101.9:7801 ==> Service Manager
http://192.168.101.9:7803 ==> Deployment Services

http://192.168.101.9:7801


http://192.168.101.9:7803

Thanks for visiting!!

0 comments:

Post a Comment