Skip to main content

Apply RU Patch 19.30 on Oracle 19c GoldenGate

Diagram illustrating applying an Oracle GoldenGate 19c Release Update patch

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.
Oracle RU 19.30 Patch on GoldenGate 19c.
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.

📧 Email: oraeasyy@gmail.com
🌐 Website: www.oraeasy.com

Follow Us

Comments

↑