Introduction
In this article, we will demonstrate how to apply Oracle GoldenGate Release Update (RU) 19.30 (Patch 38781237) to an existing Oracle GoldenGate installation. We will cover the required prerequisites, installation procedure, and validation steps after the patch is applied.
Prerequisites
Below are the minimum requirements.
- Downtime required at the GoldenGate end for 60 minutes.
- Additional disk space required for the patch and the binary backup.
- Download the RU patch and required OPatch from the links below.
Opatch
Environment Used in this Guide
| Hostname | delhi.oraeasy.com |
|---|---|
| Golden Gate Version | 19.1.0.0.4 |
| Golden Gate Home | /u01/app/gghome |
Now let's start the patching step by step.
Step 1: Perform the Prerequisite Checks
Confirming the current GoldenGate version, that all processes are healthy before touching anything, and that no interim patches are already applied gives a clean baseline to compare against once the RU is in place:
[oracle@delhi ~]$ /u01/app/gghome/ggsci -v
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
[oracle@delhi ~]$
[oracle@delhi ~]$ /u01/app/gghome/ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (delhi.oraeasy.com) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING E_DL 00:00:03 00:00:00
EXTRACT RUNNING P_DL 00:00:00 00:00:00
REPLICAT RUNNING R_ND 00:00:00 00:00:09
GGSCI (delhi.oraeasy.com) 2> exit
[oracle@delhi ~]$ export ORACLE_HOME=/u01/app/gghome
[oracle@delhi ~]$ echo $ORACLE_HOME
/u01/app/gghome
[oracle@delhi ~]$
[oracle@delhi ~]$ $ORACLE_HOME/OPatch/opatch lspatches
There are no Interim patches installed in this Oracle Home "/u01/app/gghome".
OPatch succeeded.
[oracle@delhi ~]$ $ORACLE_HOME/OPatch/opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.18
Copyright (c) 2026, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/gghome
Central Inventory : /u01/app/oraInventory
from : /u01/app/gghome/oraInst.loc
OPatch version : 12.2.0.1.18
OUI version : 12.2.0.4.0
Log file location : /u01/app/gghome/cfgtoollogs/opatch/opatch2026-04-18_10-37-58AM_1.log
Lsinventory Output file location : /u01/app/gghome/cfgtoollogs/opatch/lsinv/lsinventory2026-04-18_10-37-58AM.txt
--------------------------------------------------------------------------------
Local Machine Information::
Hostname: delhi.oraeasy.com
ARU platform id: 226
ARU platform description:: Linux x86-64
Installed Top-level Products (1):
Oracle GoldenGate Core 19.1.0.0.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
--------------------------------------------------------------------------------
OPatch succeeded.
[oracle@delhi ~]$
Step 2: Update OPatch
The RU patch's own conflict checks and apply logic depend on a current OPatch build; the version shipped with this GoldenGate home is well behind what Patch 6880880 provides, so it's replaced before going any further:
[oracle@delhi ~]$ export ORACLE_HOME=/u01/app/gghome
[oracle@delhi ~]$ echo $ORACLE_HOME
/u01/app/gghome
[oracle@delhi ~]$ cd /u01/app/gghome/OPatch/
[oracle@delhi OPatch]$
[oracle@delhi OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.18
OPatch succeeded.
[oracle@delhi OPatch]$ cd ..
[oracle@delhi gghome]$ mv OPatch OPatch_bkp
[oracle@delhi gghome]$ cd
[oracle@delhi ~]$ ls -lrth
total 70M
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Videos
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Templates
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Public
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Pictures
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Music
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Downloads
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Documents
drwxr-xr-x. 2 oracle oinstall 6 Aug 29 2025 Desktop
-rw-r--r--. 1 oracle oinstall 70M Apr 18 13:15 p6880880_190000_Linux-x86-64.zip
[oracle@delhi ~]$ unzip p6880880_190000_Linux-x86-64.zip -d /u01/app/gghome/
[oracle@delhi ~]$ cd /u01/app/gghome/OPatch/
[oracle@delhi OPatch]$
[oracle@delhi OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.49
OPatch succeeded.
[oracle@delhi OPatch]$
Step 3: Unzip the Patch
Extracting the RU zip produces the patch directory (38781237) that OPatch reads its metadata from in every step that follows:
[oracle@delhi software]$ pwd
/u01/software
[oracle@delhi software]$ ls -lrth
total 115M
-rw-r--r--. 1 oracle oinstall 115M Apr 18 10:41 p38781237_1930000OGGRU_Linux-x86-64.zip
[oracle@delhi software]$ unzip p38781237_1930000OGGRU_Linux-x86-64.zip
Step 4: Check for Patch Conflicts
Running the conflict check before applying anything catches a clash with an already-installed interim patch while it's still easy to resolve, rather than mid-apply when the home is partly patched:
[oracle@delhi 38781237]$ pwd
/u01/software/38781237
[oracle@delhi 38781237]$ echo $ORACLE_HOME
/u01/app/gghome
[oracle@delhi 38781237]$
[oracle@delhi 38781237]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 12.2.0.1.49
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/gghome
Central Inventory : /u01/app/oraInventory
from : /u01/app/gghome/oraInst.loc
OPatch version : 12.2.0.1.49
OUI version : 12.2.0.4.0
Log file location : /u01/app/gghome/cfgtoollogs/opatch/opatch2026-04-18_13-18-34PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
[oracle@delhi 38781237]$
Step 5: Back Up the GoldenGate Home
A full tar backup of the GoldenGate home is the fastest way back to a working state if the patch apply fails partway through or the post-patch validation turns up a problem:
[root@delhi ~]# cd /u01/software
[root@delhi software]#
[root@delhi software]#
[root@delhi software]# tar -cvf /u01/software/GG_HOME_19c.tar /u01/app/gghome
[root@delhi software]# ls -lrth GG_HOME_19c.tar
-rw-r--r--. 1 root root 824M Apr 18 13:29 GG_HOME_19c.tar
Step 6: Stop the GoldenGate Services
OPatch requires the Oracle Home to be idle before patching, so every Extract and Replicat group is stopped first, followed by the Manager process, which refuses to stop while dependent processes still need it:
GGSCI (delhi.oraeasy.com) 2> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING E_DL 00:00:03 00:00:00
EXTRACT RUNNING P_DL 00:00:02 00:00:00
REPLICAT RUNNING R_ND 00:00:00 00:00:05
GGSCI (delhi.oraeasy.com) 3> stop *
Sending STOP request to EXTRACT E_DL ...
Request processed.
Sending STOP request to EXTRACT P_DL ...
Request processed.
Sending STOP request to REPLICAT R_ND ...
Request processed.
GGSCI (delhi.oraeasy.com) 5> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED E_DL 00:00:00 00:00:19
EXTRACT STOPPED P_DL 00:00:00 00:00:17
REPLICAT STOPPED R_ND 00:00:00 00:00:16
GGSCI (delhi.oraeasy.com) 6> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.
GGSCI (delhi.oraeasy.com) 7> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED E_DL 00:00:00 00:00:29
EXTRACT STOPPED P_DL 00:00:00 00:00:27
REPLICAT STOPPED R_ND 00:00:00 00:00:26
Step 7: Apply the Patch
opatch apply re-runs its own prerequisite checks, backs up the affected files before touching them, and only then patches the oracle.oggcore.ora19c component, so a failed check aborts cleanly before anything in the home is modified:
[oracle@delhi 38781237]$ pwd
/u01/software/38781237
[oracle@delhi 38781237]$
[oracle@delhi 38781237]$ echo $ORACLE_HOME
/u01/app/gghome
[oracle@delhi 38781237]$ $ORACLE_HOME/OPatch/./opatch apply
Oracle Interim Patch Installer version 12.2.0.1.49
Copyright (c) 2026, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/gghome
Central Inventory : /u01/app/oraInventory
from : /u01/app/gghome/oraInst.loc
OPatch version : 12.2.0.1.49
OUI version : 12.2.0.4.0
Log file location : /u01/app/gghome/cfgtoollogs/opatch/opatch2026-04-18_13-32-47PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 38781237
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/gghome')
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '38781237' to OH '/u01/app/gghome'
Patching component oracle.oggcore.ora19c, 19.1.0.0.0...
Patch 38781237 successfully applied.
Log file location: /u01/app/gghome/cfgtoollogs/opatch/opatch2026-04-18_13-32-47PM_1.log
OPatch succeeded.
[oracle@delhi 38781237]$
Step 8: Verify the Patch
opatch lspatches confirming 38781237 and ggsci -v reporting the new build number (19.30.0.0.260120) together confirm the RU actually took effect, not just that OPatch exited without error:
[oracle@delhi 38781237]$ $ORACLE_HOME/OPatch/./opatch lspatches
38781237;Oracle GoldenGate 19.30.0.0.260120 for Oracle 19c
OPatch succeeded.
[oracle@delhi 38781237]$
[oracle@delhi 38781237]$ $ORACLE_HOME/OPatch/./opatch lsinventory|grep -i applied
Patch 38781237 : applied on Sat Apr 18 13:34:30 IST 2026
[oracle@delhi 38781237]$
[oracle@delhi gghome]$ /u01/app/gghome/ggsci -v
Oracle GoldenGate Command Interpreter for Oracle
Version 19.30.0.0.260120 OGGCORE_19.30.0.0.0OGGRU_PLATFORMS_260111.2211_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Jan 12 2026 14:57:05
Copyright (C) 1995, 2025, Oracle and/or its affiliates. All rights reserved.
Step 9: Start GoldenGate and Do a Post Check
Manager has to come back up first since Extract and Replicat groups depend on it to start; once all groups are back to RUNNING with a near-zero lag, replication has fully resumed on the patched build:
[oracle@delhi gghome]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 19.30.0.0.260120 OGGCORE_19.30.0.0.0OGGRU_PLATFORMS_260111.2211_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Jan 12 2026 14:57:05
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2025, Oracle and/or its affiliates. All rights reserved.
GGSCI (delhi.oraeasy.com) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED E_DL 00:00:00 02:43:54
EXTRACT STOPPED P_DL 00:00:00 02:42:55
REPLICAT STOPPED R_ND 00:00:00 02:41:34
GGSCI (delhi.oraeasy.com) 2>
GGSCI (delhi.oraeasy.com) 2> start mgr
Manager started.
GGSCI (delhi.oraeasy.com) 3> info mgr
Manager is running (IP port TCP:delhi.oraeasy.com.7809, Process ID 15086).
GGSCI (delhi.oraeasy.com) 4> start *
Sending START request to MANAGER ...
EXTRACT E_DL starting
Sending START request to MANAGER ...
EXTRACT P_DL starting
Sending START request to MANAGER ...
REPLICAT R_ND starting
GGSCI (delhi.oraeasy.com) 5>
GGSCI (delhi.oraeasy.com) 5> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING E_DL 00:00:00 00:00:05
EXTRACT RUNNING P_DL 00:00:00 00:00:06
REPLICAT RUNNING R_ND 00:00:00 00:00:01
GGSCI (delhi.oraeasy.com) 6>
Note: While doing GoldenGate patching steps, always set the ORACLE_HOME variable for the GoldenGate home directory. Also, if you face any issue starting the GoldenGate process after patching, reset the ORACLE_HOME variable to its previous value.
Thank you for reading!
I hope this content has been helpful to you. Your feedback and suggestions are always welcome, so feel free to leave a comment or reach out with any queries.
Abhishek Shrivastava
Oracle DBA with hands-on experience managing production Data Guard, RAC, GoldenGate, and APEX environments. I write practical, tested installation and troubleshooting guides based on real deployment work.

Comments
Post a Comment