Major Steps
in this scenario we will be applying july-26 CPU Patch(19.32) on 19c database(19.30)
and then upgrade OJVM and JDK
- backup binaries
- update opatch
- check conflicts --> analyze
- patch apply
- OJVM upgrade
- JDK upgrade
- run datapatch
####################################
download all required patches form latest CPU page or by manual.
####################################
Critical Patch Update (CPU) Jul 2026 for Oracle Database Products
GI,RDBMS CPU JULY-26, OJVM July-26, JDK July-26 (java8u501), Latest 19c OPatch(12.2.0.1.52)
https://www.oracle.com/security-alerts/
https://updates.oracle.com/download/39467003.html
https://updates.oracle.com/download/39222882.html
https://updates.oracle.com/download/39329591.html
https://updates.oracle.com/download/6880880.html
####################################
####################################
####################################
verify current components versions
####################################
[grid@PRODDB01 39618711]$ $ORACLE_HOME/OPatch/opatch lspatches
38729293;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38729293)
38661284;OCW RELEASE UPDATE 19.30.0.0.0 (38661284)
38653268;ACFS RELEASE UPDATE 19.30.0.0.0 (38653268)
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
OPatch succeeded.
[grid@PRODDB01 39618711]$
[grid@PRODDB01 39618711]$ crsctl query crs releasepatch
Oracle Clusterware release patch level is [2001609365] and the complete list of patches [39107825 39107855 39472050 39503034 39526364 ] have been applied on the local node. The release patch string is [19.30.0.0.0].
[grid@PRODDB01 39618711]$
[grid@PRODDB01 39618711]$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_471"
Java(TM) SE Runtime Environment (build 1.8.0_471-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.471-b09, mixed mode)
[grid@PRODDB01 39618711]$
[grid@PRODDB01 grid]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.49
OPatch succeeded.
[grid@PRODDB01 grid]$
[oracle@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
38523609;OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)
38661284;OCW RELEASE UPDATE 19.30.0.0.0 (38661284)
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
OPatch succeeded.
[oracle@PRODDB01 ~]$
[oracle@PRODDB01 ~]$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_471"
Java(TM) SE Runtime Environment (build 1.8.0_471-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.471-b09, mixed mode)
[oracle@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.49
OPatch succeeded.
[oracle@PRODDB01 ~]$
####################################
Take backup of GI and RDBMS Home
tar p=preserve permissions
####################################
[oracle@PRODDB01 19.0.0]$ srvctl stop database -d CTSP
[grid@PRODDB01 ~]$ crsctl stop crs
[grid@PRODDB01 ~]$ ps -fux
[grid@PRODDB01 ~]$ cd $ORACLE_HOME/..
[grid@PRODDB01 19.0.0]$ tar -czpf grid_bkp4_july26CPU.tar.gz grid/
[oracle@PRODDB01 ~]$ ps -fux
[oracle@PRODDB01 ~]$ cd $ORACLE_HOME/..
[oracle@PRODDB01 19.0.0]$ tar -czpf dbhome_1_bkp4_july26CPU.tar dbhome_1/
---And if you ever need to restore:
tar -xzpf grid_bkp4_july26CPU.tar.gz
tar -xzpf dbhome_1_bkp4_july26CPU.tar.gz
####################################
upgrade OPATCH in GI & RDBMS homes --> update same for node2
####################################
[root@PRODDB01 19cSW]# mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_49_090826
[root@PRODDB01 19cSW]# unzip -q '/u02/19cSW/p6880880_190000_Linux-x86-64 (3).zip' -d $ORACLE_HOME
[root@PRODDB01 19cSW]# ls -ld $ORACLE_HOME/OP*
drwxr-x--- 15 root root 4096 Jul 22 10:51 /u01/app/19.0.0/grid/OPatch
drwxr-x--- 15 grid oinstall 4096 Jan 6 2026 /u01/app/19.0.0/grid/OPatch_49_090826
[root@PRODDB01 19cSW]# chown -R grid:oinstall $ORACLE_HOME/OPatch
[root@PRODDB02 19cSW]# $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.52
OPatch succeeded.
[root@PRODDB02 19cSW]#
[grid@PRODDB01 grid]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.52
OPatch succeeded.
[grid@PRODDB01 grid]$
[oracle@PRODDB01 ~]$ . cts.env
[oracle@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.49
OPatch succeeded.
[oracle@PRODDB01 ~]$
[oracle@PRODDB01 ~]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_49_090826
[oracle@PRODDB01 ~]$ unzip -q '/u02/p6880880_190000_Linux-x86-64 (3).zip' -d $ORACLE_HOME
[oracle@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.52
OPatch succeeded.
[oracle@PRODDB01 ~]$
#################################### ---> -
list patches which were applied
#################################### ---> -
[grid@PRODDB01 39618711]$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh /u01/app/19.0.0/grid
Patch Location in Inventory:
/u01/app/19.0.0/grid/inventory/oneoffs/36758186
Patch Location in Storage area:
/u01/app/19.0.0/grid/.patch_storage/36758186_Jun_21_2024_04_12_32
--------------------------------------------------------------------------------
OPatch succeeded.
real 0m55.233s
user 1m1.131s
sys 0m1.595s
[grid@PRODDB01 39618711]$
####################################
unzip patches and check conflicts
even with the conflict patch applied successful as there was no issue during analyze
####################################
[grid@PRODDB01 ~]$ unzip -q '/u02/19cSW/19cGI_32PSU_with_OJVM/p39618711_190000_Linux-x86-64.zip' -d /u01/19cGI_32PSU_with_OJVM
pwd
time $ORACLE_HOME/OPatch/opatch prereq CheckMinimumOPatchVersion -phBaseDir //u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39526364
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39503034
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107855
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
pwd
[grid@PRODDB01 39618711]$ pwd
time $ORACLE_HOME/OPatch/opatch prereq CheckMinimumOPatchVersion -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39526364
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39503034
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107855
time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
pwd
/u01/19cGI_32PSU_with_OJVM/39618711
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/19.0.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/19.0.0/grid/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-09_13-45-25PM_1.log
Invoking prereq "checkminimumopatchversion"
Prereq "checkMinimumOPatchVersion" passed.
OPatch succeeded.
real 0m5.131s
user 0m8.521s
sys 0m0.855s
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/19.0.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/19.0.0/grid/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-09_13-45-30PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
real 0m21.210s
user 0m32.347s
sys 0m1.891s
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/19.0.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/19.0.0/grid/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-09_13-45-51PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
real 0m8.986s
user 0m15.939s
sys 0m1.029s
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/19.0.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/19.0.0/grid/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-09_13-46-00PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
real 0m8.529s
user 0m15.023s
sys 0m0.979s
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/19.0.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/19.0.0/grid/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-09_13-46-09PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
real 0m8.598s
user 0m15.263s
sys 0m0.967s
[grid@PRODDB01 39618711]$
[grid@PRODDB01 39618711]$ time $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/19.0.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/19.0.0/grid/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-09_13-47-50PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
ZOP-47: The patch(es) has supersets with other patches installed in the Oracle Home (or) among themselves.
ZOP-40: The patch(es) has conflicts with other patches installed in the Oracle Home (or) among themselves.
Prereq "checkConflictAgainstOHWithDetail" failed.
Summary of Conflict Analysis:
There are no patches that can be applied now.
Following patches have conflicts. Please contact Oracle Support and get the merged patch of the patches :
38661284, 39107825
Conflicts/Supersets for each patch are:
Patch : 39107825
Bug Superset of 36758186
Super set bugs are:
31862202, 30086914, 35096482, 36734957, 31547458, 31554751, 32435386, 32153618, 33403356
Conflict with 38661284
Conflict details:
/u01/app/19.0.0/grid/qos/conf/jwc.properties
/u01/app/19.0.0/grid/qos/conf/Catalina/localhost/dbwlm.xml
/u01/app/19.0.0/grid/qos/conf/web.xml
/u01/app/19.0.0/grid/qos/conf/server.xml
/u01/app/19.0.0/grid/qos/conf/logging.properties
/u01/app/19.0.0/grid/qos/conf/catalina.properties
/u01/app/19.0.0/grid/qos/conf/catalina.policy
/u01/app/19.0.0/grid/qos/conf/context.xml
OPatch succeeded.
real 0m8.653s
user 0m15.209s
sys 0m0.933s
[grid@PRODDB01 39618711]$
####################################
run analyze and verify results before apply
the below 'ls -ld,ls' should show result else permission issue
####################################
[root@PRODDB02 u01]# chown -R grid:oinstall /u01/19cGI_32PSU_with_OJVM/
[root@PRODDB01 u01]# su - oracle -c 'ls -ld /u01/19cGI_32PSU_with_OJVM/39618711/39467003'
drwxr-xr-x 8 root root 159 Aug 9 14:27 /u01/19cGI_32PSU_with_OJVM/39618711/39467003
[root@PRODDB01 u01]# su - oracle -c 'ls /u01/19cGI_32PSU_with_OJVM/39618711/39467003'
39107825 39107855 39472050 39503034 39526364 automation bundle.xml README.html README.txt
[root@PRODDB01 u01]#
if permission issue then try below command:
[root@PRODDB01 u01]# chmod -R a+rX /u01/19cGI_32PSU_with_OJVM/39618711
to run analyze only on specified home (GRID)
[root@PRODDB01 u01]# time $ORACLE_HOME/OPatch/opatchauto apply /u01/19cGI_32PSU_with_OJVM/39618711/39467003 -analyze -oh /u01/app/19.0.0/grid
to run analyze only on specified home (GRID+RDBMS)
[root@PRODDB01 u01]# time $ORACLE_HOME/OPatch/opatchauto apply /u01/19cGI_32PSU_with_OJVM/39618711/39467003 -analyze
OPatchauto session is initiated at Sun Aug 9 14:30:17 2026
System initialization log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2026-08-09_02-30-21PM.log.
Session log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2026-08-09_02-30-40PM.log
The id for this session is 1GXE
Executing OPatch prereq operations to verify patch applicability on home /u01/app/19.0.0/grid
Patch applicability verified successfully on home /u01/app/19.0.0/grid
Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19.0.0/dbhome_1
Patch applicability verified successfully on home /u01/app/oracle/product/19.0.0/dbhome_1
Executing patch validation checks on home /u01/app/19.0.0/grid
Patch validation checks successfully completed on home /u01/app/19.0.0/grid
Executing patch validation checks on home /u01/app/oracle/product/19.0.0/dbhome_1
Patch validation checks successfully completed on home /u01/app/oracle/product/19.0.0/dbhome_1
Verifying SQL patch applicability on home /u01/app/oracle/product/19.0.0/dbhome_1
SQL patch applicability verified successfully on home /u01/app/oracle/product/19.0.0/dbhome_1
OPatchAuto successful.
--------------------------------Summary--------------------------------
Analysis for applying patches has completed successfully:
Host:hq01-ctsdb01
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0
==Following patches were SUCCESSFULLY analyzed to be applied:
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39526364
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-30-57PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39503034
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-30-57PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-30-57PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107855
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-30-57PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-30-57PM_1.log
Host:hq01-ctsdb01
RAC Home:/u01/app/oracle/product/19.0.0/dbhome_1
Version:19.0.0.0.0
==Following patches were SKIPPED:
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39503034
Reason: This patch is not applicable to this specified target type - "rac_database"
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
Reason: This patch is not applicable to this specified target type - "rac_database"
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107855
Reason: This patch is not applicable to this specified target type - "rac_database"
==Following patches were SUCCESSFULLY analyzed to be applied:
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39526364
Log: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-32-37PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
Log: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-32-37PM_1.log
OPatchauto session completed at Sun Aug 9 14:34:30 2026
Time taken to complete the session 4 minutes, 9 seconds
real 4m13.501s
user 4m52.092s
sys 0m15.633s
[root@PRODDB01 u01]#
####################################
apply patch on node1, it will upgrade GI and RDBS to version 19.32
####################################
[root@PRODDB01 u01]# crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@PRODDB01 u01]#
The OPatch utility has automated the patch application for the Oracle Grid Infrastructure (Grid) home and the Oracle RAC database homes. It operates by querying existing configurations and automating the steps required for patching each Oracle RAC database home of same version and the Grid home.
The utility must be executed by an operating system (OS) user with root privileges, and it must be executed on each node in the cluster if the Grid home or Oracle RAC database home is in non-shared storage. The utility can be run in parallel on the cluster nodes except for the first (any) node.
Depending on command line options specified, one invocation of OPatchAuto can patch the Grid home, Oracle RAC database homes, or both Grid and Oracle RAC database homes of the same Oracle release version as the patch. You can also roll back the patch with the same selectivity.
to apply patch only on GRID HOME (preferred approach)
[grid@PRODDB01 grid]$ $ORACLE_HOME/OPatch/opatch version
[root@PRODDB01 u01]#
GRID HOME
[root@PRODDB01 u01]# time $ORACLE_HOME/OPatch/opatchauto apply /u01/19cGI_32PSU_with_OJVM/39618711/39467003 -oh /u01/app/19.0.0/grid
RDBMS HOME
[root@PRODDB01 u01]# time $ORACLE_HOME/OPatch/opatchauto apply /u01/19cGI_32PSU_with_OJVM/39618711/39467003 -oh /u01/app/oracle/product/19.0.0/dbhome_1
to apply patch only on GRID HOME and RDBMS (bit risky)
[oracle@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch version
[root@PRODDB01 u01]#
[root@PRODDB01 u01]# time $ORACLE_HOME/OPatch/opatchauto apply /u01/19cGI_32PSU_with_OJVM/39618711/39467003
OPatchauto session is initiated at Sun Aug 9 14:38:24 2026
System initialization log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2026-08-09_02-38-28PM.log.
Session log file is /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2026-08-09_02-38-46PM.log
The id for this session is 35J1
Executing OPatch prereq operations to verify patch applicability on home /u01/app/19.0.0/grid
Patch applicability verified successfully on home /u01/app/19.0.0/grid
Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19.0.0/dbhome_1
Patch applicability verified successfully on home /u01/app/oracle/product/19.0.0/dbhome_1
Executing patch validation checks on home /u01/app/19.0.0/grid
Patch validation checks successfully completed on home /u01/app/19.0.0/grid
Executing patch validation checks on home /u01/app/oracle/product/19.0.0/dbhome_1
Patch validation checks successfully completed on home /u01/app/oracle/product/19.0.0/dbhome_1
Verifying SQL patch applicability on home /u01/app/oracle/product/19.0.0/dbhome_1
SQL patch applicability verified successfully on home /u01/app/oracle/product/19.0.0/dbhome_1
Preparing to bring down database service on home /u01/app/oracle/product/19.0.0/dbhome_1
Successfully prepared home /u01/app/oracle/product/19.0.0/dbhome_1 to bring down database service
Performing prepatch operations on CRS - bringing down CRS service on home /u01/app/19.0.0/grid
Prepatch operation log file location: /u01/app/grid/crsdata/hq01-ctsdb01/crsconfig/crs_prepatch_apply_inplace_hq01-ctsdb01_2026-08-09_02-42-48PM.log
CRS service brought down successfully on home /u01/app/19.0.0/grid
Performing prepatch operation on home /u01/app/oracle/product/19.0.0/dbhome_1
Prepatch operation completed successfully on home /u01/app/oracle/product/19.0.0/dbhome_1
Start applying binary patch on home /u01/app/oracle/product/19.0.0/dbhome_1
Binary patch applied successfully on home /u01/app/oracle/product/19.0.0/dbhome_1
Running rootadd_rdbms.sh on home /u01/app/oracle/product/19.0.0/dbhome_1
Successfully executed rootadd_rdbms.sh on home /u01/app/oracle/product/19.0.0/dbhome_1
Performing postpatch operation on home /u01/app/oracle/product/19.0.0/dbhome_1
Postpatch operation completed successfully on home /u01/app/oracle/product/19.0.0/dbhome_1
Start applying binary patch on home /u01/app/19.0.0/grid
Binary patch applied successfully on home /u01/app/19.0.0/grid
Running rootadd_rdbms.sh on home /u01/app/19.0.0/grid
Successfully executed rootadd_rdbms.sh on home /u01/app/19.0.0/grid
Performing postpatch operations on CRS - starting CRS service on home /u01/app/19.0.0/grid
Postpatch operation log file location: /u01/app/grid/crsdata/hq01-ctsdb01/crsconfig/crs_postpatch_apply_inplace_hq01-ctsdb01_2026-08-09_02-56-53PM.log
CRS service started successfully on home /u01/app/19.0.0/grid
Preparing home /u01/app/oracle/product/19.0.0/dbhome_1 after database service restarted
No step execution required.........
Trying to apply SQL patch on home /u01/app/oracle/product/19.0.0/dbhome_1
No SQL patch operations are required on local node for this home
OPatchAuto successful.
--------------------------------Summary--------------------------------
Patching is completed successfully. Please find the summary as follows:
Host:hq01-ctsdb01
RAC Home:/u01/app/oracle/product/19.0.0/dbhome_1
Version:19.0.0.0.0
Summary:
==Following patches were SKIPPED:
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39503034
Reason: This patch is not applicable to this specified target type - "rac_database"
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
Reason: This patch is not applicable to this specified target type - "rac_database"
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107855
Reason: This patch is not applicable to this specified target type - "rac_database"
==Following patches were SUCCESSFULLY applied:
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
Log: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-44-16PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39526364
Log: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-44-16PM_1.log
Host:hq01-ctsdb01
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0
Summary:
==Following patches were SUCCESSFULLY applied:
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-49-53PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107855
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-49-53PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-49-53PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39503034
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-49-53PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39526364
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_14-49-53PM_1.log
OPatchauto session completed at Sun Aug 9 15:00:40 2026
Time taken to complete the session 22 minutes, 12 seconds
real 22m16.124s
user 16m12.253s
sys 3m4.019s
[root@PRODDB01 u01]# ls -ltrh
total 0
drwxr-xr-x. 7 root oinstall 83 Jul 2 10:25 app
drwxr-xr-x 3 root root 86 Aug 9 14:27 19cGI_32PSU_with_OJVM
[root@PRODDB01 u01]#
[grid@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
39526364;OCW RELEASE UPDATE 19.32.0.0.0 (39526364)
39503034;ACFS RELEASE UPDATE 19.32.0.0.0 (39503034)
39472050;Database Release Update : 19.32.0.0.260721 (39472050)
39107855;TOMCAT RELEASE UPDATE 19.0.0.0.0 (39107855)
39107825;DBWLM RELEASE UPDATE 19.0.0.0.0 (39107825)
OPatch succeeded.
[grid@PRODDB01 ~]$
[grid@PRODDB01 ~]$ crsctl query crs releasepatch
Oracle Clusterware release patch level is [3004609525] and the complete list of patches [39107825 39107855 39472050 39503034 39526364 ] have been applied on the local node. The release patch string is [19.32.0.0.0].
[grid@PRODDB01 ~]$
[grid@PRODDB01 ~]$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_491"
Java(TM) SE Runtime Environment (build 1.8.0_491-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.491-b10, mixed mode)
[grid@PRODDB01 ~]$
[oracle@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
39526364;OCW RELEASE UPDATE 19.32.0.0.0 (39526364)
39472050;Database Release Update : 19.32.0.0.260721 (39472050)
38523609;OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)
OPatch succeeded.
[oracle@PRODDB01 ~]$
####################################
update OPATCH in node-2 GI and rdbms then -->analyze --> apply
####################################
[oracle@PRODDB02 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.49
OPatch succeeded.
[oracle@PRODDB02 ~]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_49_090826
[oracle@PRODDB02 ~]$ unzip -q '/u02/19cSW/p6880880_190000_Linux-x86-64 (3).zip' -d $ORACLE_HOME
[oracle@PRODDB02 ~]$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.52
OPatch succeeded.
[oracle@PRODDB02 ~]$
[root@PRODDB02 u01]# $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.52
OPatch succeeded.
[root@PRODDB02 u01]#
[root@PRODDB02 u01]# time $ORACLE_HOME/OPatch/opatchauto apply /u01/19cGI_32PSU_with_OJVM/39618711/39467003 -analyze
OPatchauto session completed at Sun Aug 9 15:13:55 2026
Time taken to complete the session 4 minutes, 15 seconds
real 4m18.624s
user 4m48.947s
sys 0m15.068s
[root@PRODDB02 u01]#
[root@PRODDB02 u01]#
[root@PRODDB02 u01]#
[root@PRODDB02 u01]# crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@PRODDB02 u01]#
[root@PRODDB02 u01]# time $ORACLE_HOME/OPatch/opatchauto apply /u01/19cGI_32PSU_with_OJVM/39618711/39467003
Host:hq01-ctsdb02
CRS Home:/u01/app/19.0.0/grid
Version:19.0.0.0.0
Summary:
==Following patches were SUCCESSFULLY applied:
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107825
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_15-25-36PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39107855
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_15-25-36PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39472050
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_15-25-36PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39503034
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_15-25-36PM_1.log
Patch: /u01/19cGI_32PSU_with_OJVM/39618711/39467003/39526364
Log: /u01/app/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-08-09_15-25-36PM_1.log
OPatchauto session completed at Sun Aug 9 15:39:53 2026
Time taken to complete the session 25 minutes, 23 seconds
real 25m27.098s
user 16m19.944s
sys 3m7.526s
[root@PRODDB02 u01]#
####################################
verify updates in dba_registry
####################################
set linesize 200 pagesize 400;
col COMP_ID for a15;
col COMP_NAME for a50;
col SCHEMA for a10;
col VERSION for a15;
col VERSION_FULL for a15;
col ACTION_TIME for a35;
select comp_id,comp_name,schema,version,status from dba_registry;
select comp_id,comp_name,version,version_full,status from dba_registry;
select PATCH_ID,ACTION,STATUS,ACTION_TIME,DESCRIPTION from dba_registry_sqlpatch;
SQL>
COMP_ID COMP_NAME VERSION VERSION_FULL STATUS
--------------- -------------------------------------------------- --------------- --------------- -----------
CATALOG Oracle Database Catalog Views 19.0.0.0.0 19.32.0.0.0 VALID
CATPROC Oracle Database Packages and Types 19.0.0.0.0 19.32.0.0.0 VALID
RAC Oracle Real Application Clusters 19.0.0.0.0 19.32.0.0.0 VALID
JAVAVM JServer JAVA Virtual Machine 19.0.0.0.0 19.32.0.0.0 VALID
XML Oracle XDK 19.0.0.0.0 19.32.0.0.0 VALID
CATJAVA Oracle Database Java Packages 19.0.0.0.0 19.32.0.0.0 VALID
APS OLAP Analytic Workspace 19.0.0.0.0 19.32.0.0.0 VALID
XDB Oracle XML Database 19.0.0.0.0 19.32.0.0.0 VALID
OWM Oracle Workspace Manager 19.0.0.0.0 19.32.0.0.0 VALID
CONTEXT Oracle Text 19.0.0.0.0 19.32.0.0.0 VALID
ORDIM Oracle Multimedia 19.0.0.0.0 19.32.0.0.0 VALID
SDO Spatial 19.0.0.0.0 19.32.0.0.0 VALID
XOQ Oracle OLAP API 19.0.0.0.0 19.32.0.0.0 VALID
OLS Oracle Label Security 19.0.0.0.0 19.32.0.0.0 VALID
DV Oracle Database Vault 19.0.0.0.0 19.32.0.0.0 VALID
15 rows selected.
SQL>
PATCH_ID ACTION STATUS ACTION_TIME DESCRIPTION
---------- --------------- ------------------------- ----------------------------------- ----------------------------------------------------------------------------------------------------
38523609 APPLY SUCCESS 05-JUL-26 02.05.27.143532 PM OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)
38632161 APPLY SUCCESS 05-JUL-26 02.12.53.910089 PM Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
39472050 APPLY SUCCESS 09-AUG-26 03.39.38.348862 PM Database Release Update : 19.32.0.0.260721 (39472050)
SQL>
####################################
apply OJVM and JDK Patches (napply also works)
#################################### ---> -
[oracle@PRODDB01 OJVM_19_ALL]$ mkdir OJVM_19_32
[oracle@PRODDB01 OJVM_19_ALL]$ cd OJVM_19_32
[oracle@PRODDB01 OJVM_19_32]$ ls -ltrh
total 124M
-rw-r--r-- 1 root root 124M Aug 9 15:44 p39222882_190000_Linux-x86-64.zip
[oracle@PRODDB01 OJVM_19_32]$ unzip -q p39222882_190000_Linux-x86-64.zip
[oracle@PRODDB01 OJVM_19_32]$ ls -ltrh
total 124M
drwxr-xr-x 4 oracle oinstall 87 Jun 29 16:23 39222882
-rw-rw-r-- 1 oracle oinstall 33K Jul 21 18:47 PatchSearch.xml
-rw-r--r-- 1 root root 124M Aug 9 15:44 p39222882_190000_Linux-x86-64.zip
[oracle@PRODDB01 OJVM_19_32]$ cd 39222882/
[oracle@PRODDB01 39222882]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/oracle/product/19.0.0/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/19.0.0/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2026-08-09_15-49-05PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
[oracle@PRODDB01 39222882]$
[oracle@PRODDB01 39222882]$ srvctl stop database -d CTSP
[oracle@PRODDB01 39222882]$
[oracle@PRODDB01 39222882]$ time $ORACLE_HOME/OPatch/opatch apply
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/product/19.0.0/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/19.0.0/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2026-08-09_15-56-36PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 39222882
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/oracle/product/19.0.0/dbhome_1')
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '39222882' to OH '/u01/app/oracle/product/19.0.0/dbhome_1'
Patching component oracle.javavm.server, 19.0.0.0.0...
Patching component oracle.javavm.server.core, 19.0.0.0.0...
Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...
Patching component oracle.rdbms, 19.0.0.0.0...
Patching component oracle.javavm.client, 19.0.0.0.0...
Patch 39222882 successfully applied.
Sub-set patch [38523609] has become inactive due to the application of a super-set patch [39222882].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2026-08-09_15-56-36PM_1.log
OPatch succeeded.
real 2m14.031s
user 2m19.497s
sys 0m8.010s
[oracle@PRODDB01 39222882]$ $ORACLE_HOME/OPatch/opatch lspatches
39222882;OJVM RELEASE UPDATE: 19.32.0.0.260721 (39222882)
39526364;OCW RELEASE UPDATE 19.32.0.0.0 (39526364)
39472050;Database Release Update : 19.32.0.0.260721 (39472050)
OPatch succeeded.
[oracle@PRODDB01 39222882]$
####################################
apply latest JDK Patch
[oracle@PRODDB01 java8u501]$ pwd
/u02/19cSW/JDK_19_ALL/java8u501
[oracle@PRODDB01 java8u501]$ ls -ltrh
total 127M
-rw-r--r-- 1 root root 127M Aug 9 15:59 p39329591_190000_Linux-x86-64.zip
[oracle@PRODDB01 java8u501]$
[oracle@PRODDB01 java8u501]$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_491"
Java(TM) SE Runtime Environment (build 1.8.0_491-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.491-b10, mixed mode)
[oracle@PRODDB01 java8u501]$
[oracle@PRODDB01 java8u501]$ time $ORACLE_HOME/OPatch/opatch napply -id 39329591
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/product/19.0.0/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/19.0.0/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2026-08-09_16-03-49PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 39329591
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Backing up files...
Applying interim patch '39329591' to OH '/u01/app/oracle/product/19.0.0/dbhome_1'
ApplySession: Optional component(s) [ oracle.jdk, 1.8.0.191.0 ] , [ oracle.jdk, 1.8.0.391.11 ] not present in the Oracle Home or a higher version is found.
Patching component oracle.jdk, 1.8.0.201.0...
Patch 39329591 successfully applied.
Log file location: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2026-08-09_16-03-49PM_1.log
OPatch succeeded.
real 2m21.476s
user 2m30.789s
sys 0m5.490s
[oracle@PRODDB01 java8u501]$
[oracle@PRODDB01 java8u501]$
[oracle@PRODDB01 java8u501]$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_501"
Java(TM) SE Runtime Environment (build 1.8.0_501-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.501-b08, mixed mode)
[oracle@PRODDB01 java8u501]$
####################################
run datapatch to load sql's
####################################
[oracle@PRODDB01 java8u501]$ srvctl start database -d CTSP
[oracle@rac1 ~]$ time $ORACLE_HOME/OPatch/datapatch -verbose
SQL Patching tool version 19.32.0.0.0 Production on Sun Aug 9 16:15:06 2026
Copyright (c) 2012, 2026, Oracle. All rights reserved.
Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_2939446_2026_08_09_16_15_06/sqlpatch_invocation.log
Connecting to database...OK
Gathering database info...done
Bootstrapping registry and package to current versions...done
Determining current state...done
Current state of interim SQL patches:
Interim patch 38523609 (OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)):
Binary registry: Not installed
SQL registry: Applied successfully on 05-JUL-26 02.05.27.143532 PM
Interim patch 39222882 (OJVM RELEASE UPDATE: 19.32.0.0.260721 (39222882)):
Binary registry: Installed
SQL registry: Not installed
Current state of release update SQL patches:
Binary registry:
19.32.0.0.0 Release_Update 260705220710: Installed
SQL registry:
Applied 19.32.0.0.0 Release_Update 260705220710 successfully on 09-AUG-26 03.39.38.348862 PM
Adding patches to installation queue and performing prereq checks...done
Installation queue:
The following interim patches will be rolled back:
38523609 (OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609))
No release update patches need to be installed
The following interim patches will be applied:
39222882 (OJVM RELEASE UPDATE: 19.32.0.0.260721 (39222882))
Installing patches...
Patch installation complete. Total patches installed: 2
Validating logfiles...done
Patch 38523609 rollback: SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/38523609/28341036/38523609_rollback_CTS_2026Aug09_16_15_49.log (no errors)
Patch 39222882 apply: SUCCESS
logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/39222882/28830205/39222882_apply_CTS_2026Aug09_16_16_14.log (no errors)
SQL Patching tool complete on Sun Aug 9 16:16:40 2026
real 1m33.988s
user 0m1.229s
sys 0m0.350s
[oracle@PRODDB01 java8u501]$
####################################
verify loaded sql
####################################
set linesize 200 pagesize 400;
col COMP_ID for a15;
col COMP_NAME for a50;
col SCHEMA for a10;
col VERSION for a15;
col VERSION_FULL for a15;
col ACTION_TIME for a35;
select comp_id,comp_name,schema,version,status from dba_registry;
select comp_id,comp_name,version,version_full,status from dba_registry;
select PATCH_ID,ACTION,STATUS,ACTION_TIME,DESCRIPTION from dba_registry_sqlpatch;
COMP_ID COMP_NAME SCHEMA VERSION STATUS
--------------- -------------------------------------------------- ---------- --------------- -----------
CATALOG Oracle Database Catalog Views SYS 19.0.0.0.0 VALID
CATPROC Oracle Database Packages and Types SYS 19.0.0.0.0 VALID
RAC Oracle Real Application Clusters SYS 19.0.0.0.0 VALID
JAVAVM JServer JAVA Virtual Machine SYS 19.0.0.0.0 VALID
XML Oracle XDK SYS 19.0.0.0.0 VALID
CATJAVA Oracle Database Java Packages SYS 19.0.0.0.0 VALID
APS OLAP Analytic Workspace SYS 19.0.0.0.0 VALID
XDB Oracle XML Database XDB 19.0.0.0.0 VALID
OWM Oracle Workspace Manager WMSYS 19.0.0.0.0 VALID
CONTEXT Oracle Text CTXSYS 19.0.0.0.0 VALID
ORDIM Oracle Multimedia ORDSYS 19.0.0.0.0 VALID
SDO Spatial MDSYS 19.0.0.0.0 VALID
XOQ Oracle OLAP API OLAPSYS 19.0.0.0.0 VALID
DV Oracle Database Vault DVSYS 19.0.0.0.0 VALID
OLS Oracle Label Security LBACSYS 19.0.0.0.0 VALID
15 rows selected.
SQL>
COMP_ID COMP_NAME VERSION VERSION_FULL STATUS
--------------- -------------------------------------------------- --------------- --------------- -----------
CATALOG Oracle Database Catalog Views 19.0.0.0.0 19.32.0.0.0 VALID
CATPROC Oracle Database Packages and Types 19.0.0.0.0 19.32.0.0.0 VALID
RAC Oracle Real Application Clusters 19.0.0.0.0 19.32.0.0.0 VALID
JAVAVM JServer JAVA Virtual Machine 19.0.0.0.0 19.32.0.0.0 VALID
XML Oracle XDK 19.0.0.0.0 19.32.0.0.0 VALID
CATJAVA Oracle Database Java Packages 19.0.0.0.0 19.32.0.0.0 VALID
APS OLAP Analytic Workspace 19.0.0.0.0 19.32.0.0.0 VALID
XDB Oracle XML Database 19.0.0.0.0 19.32.0.0.0 VALID
OWM Oracle Workspace Manager 19.0.0.0.0 19.32.0.0.0 VALID
CONTEXT Oracle Text 19.0.0.0.0 19.32.0.0.0 VALID
ORDIM Oracle Multimedia 19.0.0.0.0 19.32.0.0.0 VALID
SDO Spatial 19.0.0.0.0 19.32.0.0.0 VALID
XOQ Oracle OLAP API 19.0.0.0.0 19.32.0.0.0 VALID
OLS Oracle Label Security 19.0.0.0.0 19.32.0.0.0 VALID
DV Oracle Database Vault 19.0.0.0.0 19.32.0.0.0 VALID
15 rows selected.
SQL>
PATCH_ID ACTION STATUS ACTION_TIME DESCRIPTION
---------- --------------- ------------------------- ----------------------------------- ----------------------------------------------------------------------------------------------------
38523609 APPLY SUCCESS 05-JUL-26 02.05.27.143532 PM OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)
38632161 APPLY SUCCESS 05-JUL-26 02.12.53.910089 PM Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
39472050 APPLY SUCCESS 09-AUG-26 03.39.38.348862 PM Database Release Update : 19.32.0.0.260721 (39472050)
38523609 ROLLBACK SUCCESS 09-AUG-26 04.16.14.673792 PM OJVM RELEASE UPDATE: 19.30.0.0.260120 (38523609)
39222882 APPLY SUCCESS 09-AUG-26 04.16.40.247350 PM OJVM RELEASE UPDATE: 19.32.0.0.260721 (39222882)
SQL>
SQL>
Upgrading JDK for Grid home
####################################
Upgrading JDK for Grid home
####################################
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwsol/applying-patches-when-oracle-oracle-clusterware-fails-to-start.html
#################################### ---> chatgpt steps for upgrde jdk in grid home with napply
#################################### --->
#######---->1. Pre-check — run on both nodes
As root:
export ORACLE_HOME=/u01/app/19.0.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
hostname
$ORACLE_HOME/bin/crsctl check crs
$ORACLE_HOME/bin/crsctl query crs releasepatch
$ORACLE_HOME/bin/crsctl query crs softwarepatch
$ORACLE_HOME/bin/crsctl query crs activeversion -f
As grid:
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/jdk/bin/java -version
#######---->2. Put the cluster into rolling patch mode
Do this from the node where CRS is healthy, for example PRODDB02.
As root:
export ORACLE_HOME=/u01/app/19.0.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
[root@PRODDB02 ~]# $ORACLE_HOME/bin/crsctl start rollingpatch
CRS-1151: The cluster was successfully set to rolling patch mode.
[root@PRODDB02 ~]#
[root@PRODDB02 ~]# $ORACLE_HOME/bin/crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is [ROLLING PATCH]. The cluster active patch level is [3004609525].
[root@PRODDB02 ~]#
#######---->3. Patch Node 1 — PRODDB01
Since Node 1 is the node being patched, first stop CRS.
As root:
[root@PRODDB01 ~]# $ORACLE_HOME/bin/crsctl stop crs -f
Verify:
[root@PRODDB01 ~]# $ORACLE_HOME/bin/crsctl check crs
CRS-4639: Could not contact Oracle High Availability Services
[root@PRODDB01 ~]#
Now unlock the Grid home:
[root@PRODDB01 java8u501]# time $ORACLE_HOME/crs/install/rootcrs.sh -unlock
Using configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/hq01-ctsdb01/crsconfig/crsunlock_hq01-ctsdb01_2026-08-10_12-42-21AM.log
2026/08/10 12:42:21 CLSRSC-4012: Shutting down Oracle Trace File Analyzer (TFA) Collector.
2026/08/10 12:43:01 CLSRSC-4013: Successfully shut down Oracle Trace File Analyzer (TFA) Collector.
2026/08/10 12:43:02 CLSRSC-347: Successfully unlock /u01/app/19.0.0/grid
real 0m56.030s
user 0m1.432s
sys 0m0.804s
[root@PRODDB01 java8u501]#
#######---->4. Apply 39329591 as grid (napply)
Switch to grid:
Set the environment:
[root@PRODDB01 java8u501]# su - grid
Failed to retrieve ASM endpoints.
[grid@PRODDB01 ~]$ . grid.env
Failed to retrieve ASM endpoints.
Connected to an idle instance.
ASMCMD-8102: no connection to Oracle ASM; command requires Oracle ASM to run
[grid@PRODDB01 ~]$ cd /u02/19cSW/JDK_19_ALL/java8u501/
[grid@PRODDB01 java8u501]$ ls -ltrh
total 127M
-rw-r--r-- 1 root root 127M Aug 9 15:59 p39329591_190000_Linux-x86-64.zip
[grid@PRODDB01 java8u501]$ time $ORACLE_HOME/OPatch/opatch napply -id 39329591
Oracle Interim Patch Installer version 12.2.0.1.52
Copyright (c) 2026, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/19.0.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/19.0.0/grid/oraInst.loc
OPatch version : 12.2.0.1.52
OUI version : 12.2.0.7.0
Log file location : /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-10_12-43-46PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 39329591
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Backing up files...
Applying interim patch '39329591' to OH '/u01/app/19.0.0/grid'
ApplySession: Optional component(s) [ oracle.jdk, 1.8.0.191.0 ] , [ oracle.jdk, 1.8.0.391.11 ] not present in the Oracle Home or a higher version is found.
Patching component oracle.jdk, 1.8.0.201.0...
Patch 39329591 successfully applied.
Log file location: /u01/app/19.0.0/grid/cfgtoollogs/opatch/opatch2026-08-10_12-43-46PM_1.log
OPatch succeeded.
real 1m53.438s
user 2m15.762s
sys 0m5.324s
[grid@PRODDB01 java8u501]$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_501"
Java(TM) SE Runtime Environment (build 1.8.0_501-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.501-b08, mixed mode)
[grid@PRODDB01 java8u501]$
[grid@PRODDB01 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
39329591;JDK BUNDLE PATCH 19.0.0.0.260721
39526364;OCW RELEASE UPDATE 19.32.0.0.0 (39526364)
39503034;ACFS RELEASE UPDATE 19.32.0.0.0 (39503034)
39472050;Database Release Update : 19.32.0.0.260721 (39472050)
39107855;TOMCAT RELEASE UPDATE 19.0.0.0.0 (39107855)
39107825;DBWLM RELEASE UPDATE 19.0.0.0.0 (39107825)
OPatch succeeded.
[grid@PRODDB01 ~]$
exit
logout
[grid@PRODDB02 java8u501]$
exit
#######---->5. Lock Node 1 Grid home
As root:
[root@PRODDB02 java8u501]# time $ORACLE_HOME/crs/install/rootcrs.sh -lock
Using configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/hq01-ctsdb02/crsconfig/crslock_hq01-ctsdb02_2026-08-10_01-35-26PM.log
2026/08/10 13:35:27 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
[root@PRODDB02 java8u501]#
#######---->6. Update Node 1 OLR
This step is important.
This is the step that was initially missed in your first attempt.
Run as root:
[root@PRODDB01 java8u501]# time $ORACLE_HOME/bin/clscfg -localpatch
clscfg: EXISTING configuration version 0 detected.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
real 0m2.116s
user 0m0.059s
sys 0m0.049s
[root@PRODDB01 java8u501]#
#######---->7. Verify Node 1 before starting CRS
Run:
$ORACLE_HOME/bin/crsctl query crs releasepatch
$ORACLE_HOME/bin/crsctl query crs softwarepatch
$ORACLE_HOME/bin/crsctl query crs activeversion -f
At this point it is normal for the values to look like:
Release patch level: 3250468106
Software patch level: 3250468106
Active patch level: 3004609525
Cluster state: ROLLING PATCH
That means:
Node 1 has been patched, but the cluster as a whole has not yet been transitioned to the new patch level.
#######---->8. Start CRS on Node 1
As root:
[root@HQ01-CTSDB01 java8u501]# $ORACLE_HOME/bin/crsctl start crs -wait
Then:
[root@HQ01-CTSDB01 java8u501]# $ORACLE_HOME/bin/crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@HQ01-CTSDB01 java8u501]#
#######---->9. Update OCR on Node 1
Run this as root.
[root@PRODDB01 ~]# $ORACLE_HOME/bin/clscfg -patch
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
[root@PRODDB01 ~]#
#######---->10. Verify Node 1
Run:
$ORACLE_HOME/bin/crsctl query crs releasepatch
$ORACLE_HOME/bin/crsctl query crs softwarepatch
$ORACLE_HOME/bin/crsctl query crs activeversion -f
At this stage, Node 1 should show:
Release patch level: 3250468106
Software patch level: 3250468106
The cluster may still show:
cluster upgrade state [ROLLING PATCH]
cluster active patch level [3004609525]
until the second node is completed.
#######---->11. Patch Node 2 — PRODDB02
Now repeat the same process on Node 2.
Because Node 1 is online, Node 2 can be taken down for patching.
As root on Node 2:
export ORACLE_HOME=/u01/app/19.0.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
$ORACLE_HOME/bin/crsctl stop crs -f
Then:
$ORACLE_HOME/crs/install/rootcrs.sh -unlock
Switch to grid:
su - grid
export ORACLE_HOME=/u01/app/19.0.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
cd /u02/19cSW/JDK_19_ALL/java8u501
$ORACLE_HOME/OPatch/opatch napply -id 39329591
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/jdk/bin/java -version
exit
Then as root:
$ORACLE_HOME/crs/install/rootcrs.sh -lock
Then do not skip:
$ORACLE_HOME/bin/clscfg -localpatch
Start CRS:
$ORACLE_HOME/bin/crsctl start crs -wait
Verify:
$ORACLE_HOME/bin/crsctl check crs
Then update OCR:
$ORACLE_HOME/bin/clscfg -patch
#######---->12. Verify both nodes
On Node 1:
$ORACLE_HOME/bin/crsctl query crs softwarepatch
Expected:
Oracle Clusterware patch level on node hq01-ctsdb01 is [3250468106].
On Node 2:
$ORACLE_HOME/bin/crsctl query crs softwarepatch
Expected:
Oracle Clusterware patch level on node hq01-ctsdb02 is [3250468106].
Then from either node:
$ORACLE_HOME/bin/crsctl query crs activeversion -f
The desired final state is:
Oracle Clusterware active version on the cluster is [19.0.0.0.0].
The cluster upgrade state is [ROLLING PATCH].
The cluster active patch level is [3250468106].
#######---->13. Exit rolling patch mode
Once both nodes have:
softwarepatch = 3250468106
and both CRS stacks are healthy, run:
$ORACLE_HOME/bin/crsctl stop rollingpatch
Then verify:
-$ORACLE_HOME/bin/crsctl query crs activeversion -f
The final desired result is:
Oracle Clusterware active version on the cluster is [19.0.0.0.0].
The cluster upgrade state is [NORMAL].
The cluster active patch level is [3250468106].
#######----> stop start CRS and reboot nodes
#######----> The complete sequence at a glance to upgrade JDK in Grid Home
For your two-node cluster, the important sequence is:
START
|
v
Verify both nodes healthy
|
v
crsctl start rollingpatch (on NODE-2)
|
v
===== NODE 1 =====
|
crsctl stop crs -f
|
rootcrs.sh -unlock
|
OPatch 39329591
|
JDK -> 8u501
|
rootcrs.sh -lock
|
clscfg -localpatch
|
crsctl start crs
|
clscfg -patch
|
Verify Node 1
|
===== NODE 2 =====
|
crsctl stop crs -f
|
rootcrs.sh -unlock
|
OPatch 39329591
|
JDK -> 8u501
|
rootcrs.sh -lock
|
clscfg -localpatch
|
crsctl start crs
|
clscfg -patch
|
Verify Node 2
|
v
crsctl stop rollingpatch
|
v
Cluster state = NORMAL
Active patch = 3250468106
JDK = 8u501 on both nodes