PATCHING GI AND RAC
GI PATCHING
-----------------------------------------------------------------------------------
-------------------------------------------------------------------------------
1) Get GRID Path
ps -ef | grep d.bin
2) We get some paths We need to go to path till bin
Eg : /oracle/app/19.3.0/grid/dbhome/bin
3) Now Stop GI Home as Root User
/oracle/app/19.3.0/grid/dbhome/bin/crsctl stop crs
4) Prepatch (Unlock the GI Home as Root User) --- If cluster is up it will down and
run or if cluster is down it will up and again make it down and run prepatch
/oracle/app/19.3.0/grid/dbhome/crs/install/rootcrs.sh -prepatch
5) give permissions to patch directory as root user
chown -R username:groupname PatchesPath
6) Check OPatch Version
su - oracle
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch version
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch lspatchs ---- list of patches
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch lsinv | grep applied ---- It shows
Date when patch is applied lastly
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch lsinv | grep desc ---- Give
description
7) Conflict Prechecks
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch prereq
CheckConflictAgainestOHWithDetail -phBaseDir /PatchDirectory/patchlist -oh
/oracle/app/19.3.0/grid/dbhome
We need to get OPatch Succeeded
8) System Space Prechecks
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch prereq CheckSystemSpace -phBaseDir
/PatchDirectory/patchlist -oh /oracle/app/19.3.0/grid/dbhome
9) Apply Patch
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch apply -oh
/oracle/app/19.3.0/grid/dbhome -local -silent /PatchPath
10) Post Verification
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch lspatchs
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch lsinv | grep applied
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch lsinv | grep desc
/oracle/app/19.3.0/grid/dbhome/OPatch/opatch lspatches -oh
//oracle/app/19.3.0/grid/dbhome
11) Lock and start GI
/oracle/app/19.3.0/grid/dbhome/crs/install/rootcrs.sh -prepatch
/oracle/app/19.3.0/grid/dbhome/bin/crsctl check crs
DB HOME PATCHING
-----------------------------------------------------------------------------------
---------------------------------------------------------------------------------
1) Login to oracle user
su - oracle
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch version
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lspatches
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lsinv | grep applied
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lsinv | grep desc
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lspatchs -oh
//oracle/app/oracle_base/product/19.3.0/dbhome
2) move old OPatch and copy new OPatch
3) Conflict Prechecks
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch prereq
CheckConflictAgainestOHWithDetail -phBaseDir /PatchDirectory/patchlist -oh
/oracle/app/oracle_base/product/19.3.0/dbhome
4) System Space Prechecks
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch prereq CheckSystemSpace
-phBaseDir /PatchDirectory/patchlist -oh
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch
5) Apply Patch
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch apply -oh
/oracle/app/oracle_base/product/19.3.0/dbhome -local -silent /PatchPath
6) Post Verification
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lspatches
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lsinv | grep applied
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lsinv | grep desc
/oracle/app/oracle_base/product/19.3.0/dbhome/OPatch/opatch lspatchs -oh
//oracle/app/oracle_base/product/19.3.0/dbhome
7) Start Oracle_home from Root User
srvctl start database -d DATABASENAME