Oracle Grid Infrastructure 21c Patching Guide
1. Prerequisites
- Ensure enough disk space
- Confirm OPatch version is compatible
- Download and unzip patch files
2. Setup Environment
. oraenv export PATH=$ORACLE_HOME/OPatch:$PATH opatch version
2.1 Download software
-rw-r--r-- 1 grid oinstall 2262351607 Jun 18 06:16 p37642955_210000_Linux-x86-64.zip -rw-r--r-- 1 grid oinstall 72539776 Jun 18 06:20 p6880880_210000_Linux-x86-64.zip [grid@oragrid ~]$ du -sh 37642955/ 4.7G 37642955/ [grid@oragrid ~]$ df -Ph Filesystem Size Used Avail Use% Mounted on devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 638M 7.2G 9% /dev/shm tmpfs 7.8G 9.3M 7.8G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/mapper/cl-root 18G 5.2G 13G 29% / /dev/mapper/cl-u01 48G 25G 24G 52% /u01 /dev/sda1 976M 209M 701M 23% /boot /dev/mapper/cl-home 25G 7.1G 18G 29% /home [grid@oragrid ~]$ . oraenv ORACLE_SID = [grid] ? +ASM The Oracle base has been set to /u01/app/grid [grid@oragrid ~]$ export PATH=$ORACLE_HOME/OPatch:$PATH [grid@oragrid ~]$ opatch version OPatch Version: 12.2.0.1.46 OPatch succeeded.
3. Run Pre-checks
opatch util listorderedinactivepatches opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /path/to/patch_folder [grid@oragrid 37642955]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/grid/37642955/37657509| grep checkConflictAgainstOHWithDetail Prereq "checkConflictAgainstOHWithDetail" passed. [grid@oragrid 37642955]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/grid/37642955/37755423| grep checkConflictAgainstOHWithDetail Prereq "checkConflictAgainstOHWithDetail" passed. [grid@oragrid 37642955]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/grid/37642955/37775170| grep checkConflictAgainstOHWithDetail Prereq "checkConflictAgainstOHWithDetail" passed. [grid@oragrid 37642955]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/grid/37642955/37754564| grep checkConflictAgainstOHWithDetail Prereq "checkConflictAgainstOHWithDetail" passed. [grid@oragrid 37642955]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/grid/37642955/37678244| grep checkConflictAgainstOHWithDetail Prereq "checkConflictAgainstOHWithDetail" passed. [grid@oragrid 37642955]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/grid/37642955/37655430| grep checkConflictAgainstOHWithDetail Prereq "checkConflictAgainstOHWithDetail" passed.
4. Apply Patch
cd /home/grid/37642955
opatchauto apply /home/grid/37642955 -oh $ORACLE_HOME
[root@oragrid ~]# . oraenv
ORACLE_SID = [root] ? +ASM
The Oracle base has been set to /u01/app/grid
[root@oragrid ~]# export PATH=$ORACLE_HOME/OPatch:$PATH
[root@oragrid ~]# opatch version
OPatch Version: 12.2.0.1.46
OPatch succeeded.
Check status !!!
crsctl status resource -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE oragrid STABLE
ora.LISTENER.lsnr
ONLINE ONLINE oragrid STABLE
ora.asm
ONLINE ONLINE oragrid Started,STABLE
ora.ons
OFFLINE OFFLINE oragrid STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cdborcl.cdborcl1.pdb
1 OFFLINE OFFLINE STABLE
ora.cdborcl.db
1 OFFLINE OFFLINE Instance Shutdown,ST
ABLE
ora.cdborcl.orcl.pdb
1 OFFLINE OFFLINE STABLE
ora.cssd
1 ONLINE ONLINE oragrid STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE oragrid STABLE
ora.v14mpc.db
1 OFFLINE OFFLINE Instance Shutdown,ST
ABLE
ora.v14mpc.pdb21from19c.pdb
1 OFFLINE OFFLINE STABLE
ora.v14mpc.v14mpcpdb.pdb
1 OFFLINE OFFLINE STABLE
--------------------------------------------------------------------------------
[root@oragrid ~]#
[root@oragrid ~]# ps -ef|grep -i smon
grid 4543 1 0 05:40 ? 00:00:01 asm_smon_+ASM
root 14435 14175 0 11:51 pts/1 00:00:00 grep --color=auto -i smon
[root@oragrid ~]#
[root@oragrid ~]# echo $ORACLE_HOME
/u01/app/21.3.0/grid
$ORACLE_HOME/OPatch/opatchauto apply /home/grid/37642955 -oh $ORACLE_HOME
which opatchauto
/u01/app/21.3.0/grid/OPatch/opatchauto
==============
[root@oragrid ~]# opatchauto apply /home/grid/37642955 -oh $ORACLE_HOME
Invalid current directory. Please run opatchauto from other than '/root' and '/' directory.
And check if the home owner user has write permission set for the current directory.
opatchauto returns with error code = 2
====
change the Dir
[root@oragrid ~]# cd /home/grid/37642955
[root@oragrid 37642955]# opatchauto apply /home/grid/37642955 -oh $ORACLE_HOME
OPatchauto session is initiated at Wed Jun 18 11:57:09 2025
System initialization log file is /u01/app/21.3.0/grid/cfgtoollogs/opatchautodb/systemconfig2025-06-18_11-57-21AM.log.
Session log file is /u01/app/21.3.0/grid/cfgtoollogs/opatchauto/opatchauto2025-06-18_11-57-31AM.log
The id for this session is V5NY
Executing OPatch prereq operations to verify patch applicability on home /u01/app/21.3.0/grid
Patch applicability verified successfully on home /u01/app/21.3.0/grid
Executing patch validation checks on home /u01/app/21.3.0/grid
Patch validation checks successfully completed on home /u01/app/21.3.0/grid
Performing prepatch operations on CRS - bringing down CRS service on home /u01/app/21.3.0/grid
Prepatch operation log file location: /u01/app/grid/crsdata/oragrid/crsconfig/hapatch_2025-06-18_11-59-11AM.log
CRS service brought down successfully on home /u01/app/21.3.0/grid
Start applying binary patch on home /u01/app/21.3.0/grid
Binary patch applied successfully on home /u01/app/21.3.0/grid
Running rootadd_rdbms.sh on home /u01/app/21.3.0/grid
Successfully executed rootadd_rdbms.sh on home /u01/app/21.3.0/grid
Performing postpatch operations on CRS - starting CRS service on home /u01/app/21.3.0/grid
Postpatch operation log file location: /u01/app/grid/crsdata/oragrid/crsconfig/hapatch_2025-06-18_12-11-09AM.log
CRS service started successfully on home /u01/app/21.3.0/grid
OPatchAuto successful.
--------------------------------Summary--------------------------------
Patching is completed successfully. Please find the summary as follows:
Host:oragrid
SIHA Home:/u01/app/21.3.0/grid
Version:21.0.0.0.0
Summary:
==Following patches were SUCCESSFULLY applied:
Patch: /home/grid/37642955/37655430
Log: /u01/app/21.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2025-06-18_11-59-36AM_1.log
Patch: /home/grid/37642955/37657509
Log: /u01/app/21.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2025-06-18_11-59-36AM_1.log
Patch: /home/grid/37642955/37678244
Log: /u01/app/21.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2025-06-18_11-59-36AM_1.log
Patch: /home/grid/37642955/37754564
Log: /u01/app/21.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2025-06-18_11-59-36AM_1.log
Patch: /home/grid/37642955/37755423
Log: /u01/app/21.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2025-06-18_11-59-36AM_1.log
Patch: /home/grid/37642955/37775170
Log: /u01/app/21.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2025-06-18_11-59-36AM_1.log
OPatchauto session completed at Wed Jun 18 12:16:20 2025
Time taken to complete the session 19 minutes, 0 second
[root@oragrid 37642955]#
[root@oragrid 37642955]# crsctl status resource -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE oragrid STABLE
ora.LISTENER.lsnr
ONLINE ONLINE oragrid STABLE
ora.asm
ONLINE ONLINE oragrid Started,STABLE
ora.ons
OFFLINE OFFLINE oragrid STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cdborcl.cdborcl1.pdb
1 OFFLINE OFFLINE STABLE
ora.cdborcl.db
1 OFFLINE OFFLINE Instance Shutdown,ST
ABLE
ora.cdborcl.orcl.pdb
1 OFFLINE OFFLINE STABLE
ora.cssd
1 ONLINE ONLINE oragrid STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE oragrid STABLE
ora.v14mpc.db
1 OFFLINE OFFLINE Instance Shutdown,ST
ABLE
ora.v14mpc.pdb21from19c.pdb
1 OFFLINE OFFLINE STABLE
ora.v14mpc.v14mpcpdb.pdb
1 OFFLINE OFFLINE STABLE
--------------------------------------------------------------------------------
[root@oragrid 37642955]#
OPatchAuto successful.
All patches were applied successfully.
All patches were applied successfully.
5. Post-Patch Verification
crsctl status resource -t su - grid opatch lsinventory | grep -E "(^Patch.*applied)|(^Sub-patch)" [grid@oragrid ~]$ id uid=1100(grid) gid=54321(oinstall) groups=54321(oinstall),1020(osdba),54322(dba),54327(asmdba),54328(asmoper),54329(asmadmin) [grid@oragrid ~]$ [grid@oragrid ~]$ opatch lsinventory|grep -E "(^Patch.*applied)|(^Sub-patch)" Patch 37775170 : applied on Wed Jun 18 12:09:44 BST 2025 Patch 37755423 : applied on Wed Jun 18 12:09:23 BST 2025 Patch 37754564 : applied on Wed Jun 18 12:09:03 BST 2025 Patch 37678244 : applied on Wed Jun 18 12:08:49 BST 2025 Patch 37657509 : applied on Wed Jun 18 12:08:24 BST 2025 Patch 37655430 : applied on Wed Jun 18 12:04:19 BST 2025
6. Patches Applied
- 37655430
- 37657509
- 37678244
- 37754564
- 37755423
- 37775170
Note: Restart any database instances that were shut down during the process.

No comments:
Post a Comment