📦 Required Patches
p34672698_1927000DBRU_Linux-x86-64.zip
GI & RDBMS Patch: p37641958_190000_Linux-x86-64.zip
OJVM Patch: p37499406_190000_Linux-x86-64.zip (if required)
Recommended DB Patches:
p34774667_1927000DBRU_Linux-x86-64.zip
🔐 SSH Configuration
<pre><code class="language-sql">
dcli -g /u01/stage/SDN_Nodes -l root -k -s '-o StrictHostKeyChecking=no'
dcli -g /u01/stage/SDN_Nodes -l root hostname/</code></pre>
📁 Directory Preparation
dcli -g /u01/stage/SDN_Nodes -l root mkdir -p /u01/stage/GI_DB_OJVM_19c/
dcli -g /u01/stage/SDN_Nodes -l root chown -R oracle:oinstall /u01/stage/GI_DB_OJVM_19c/
📤 Copy and Unzip Patches
# Example for GI Patch
su - grid
dcli -g /u01/stage/SDN_Nodes -l grid "unzip -oq /u01/stage/GI_DB_OJVM_19c/p37641958_190000_Linux-x86-64.zip -d /u01/stage/GI_DB_OJVM_19c/"
# Example for DB Patch
su - oracle
dcli -g /u01/stage/SDN_Nodes -l oracle "unzip -oq /u01/stage/GI_DB_OJVM_19c/p37499406_190000_Linux-x86-64.zip -d /u01/stage/GI_DB_OJVM_19c/"
🔍 Conflict and Space Check
Grid Infrastructure:
su - grid
opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/stage/GI_DB_OJVM_19c/37641958/37642901
Database Home:
su - oracle
opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/stage/GI_DB_OJVM_19c/37641958/37642901
⚠️ Pre-Patch Checks
crsctl status resource -t
crsctl status resource -t -w "TYPE = ora.database.type"
🛑 Stop Oracle Home (Node 1 & 2)
srvctl stop home -oraclehome /u01/app/oracle/product/19.0.0.0/dbhome_1 -statefile /tmp/orahome1 -node EXA1-SDN-DB1 -stopoption immediate
🧩 Apply GI and RDBMS Patches
# GI Patch
opatchauto apply /u01/stage/GI_DB_OJVM_19c/37641958 -oh /u01/app/19.0.0.0/grid
# RDBMS Patch
opatchauto apply /u01/stage/GI_DB_OJVM_19c/37641958 -oh /u01/app/oracle/product/19.0.0.0/dbhome_1
🧪 Post Patch Verification
opatch lsinventory -oh /u01/app/19.0.0.0/grid | grep "applied on"
opatch lsinventory -oh /u01/app/oracle/product/19.0.0.0/dbhome_1 | grep "applied on"
🧠 OJVM Patch (If Needed)
cd /u01/stage/GI_DB_OJVM_19c/37499406
opatch apply"
🚀 Restart Oracle Home
srvctl start home -oraclehome /u01/app/oracle/product/19.0.0.0/dbhome_1 -statefile /tmp/orahome1 -node EXA1-SDN-DB1
📋 Final Checks
sqlplus / as sysdba
startup
alter pluggable database all open;
cd $ORACLE_HOME/OPatch
./datapatch -verbose
SELECT PATCH_ID, ACTION, STATUS, ACTION_TIME FROM dba_registry_sqlpatch;

