RAC rolling PSU patch


======================= Check Pre-Patch  =======================

$GRID_ORACLE_HOME/OPatch/opatch lsinventory
$GRID_ORACLE_HOME/OPatch/opatch lsinventory -bugs_fixed | grep -iGI PSU

$ORACLE_HOME/OPatch/opatch lsinventory
$ORACLE_HOME/OPatch/opatch lsinventory -bugs_fixed | grep -iDATABASE PSU

SQL> select comp_name,version,status from dba_registry;



$GRID_ORACLE_HOME/OPatch/opatch version -h /u01/home/11.2.0/grid
$GRID_ORACLE_HOME/OPatch/opatch lsinventory -detail -oh /u01/home/11.2.0/grid


$ORACLE_HOME/OPatch/opatch version -h /u01/home/oracle/product/11.2.0/db_1
$ORACLE_HOME/OPatch/opatch lsinventory -detail –oh /u01/home/oracle/product/11.2.0/db_1




Check whether any currently installed one-off patches conflict with the PSU patch

Check conflict : cd 13923374 ; opatch prereq CheckConflictAgainstOHWithDetail -ph ./



==================== Apply on GRID and DB Home =======================


Stop DB home   : srvctl stop home -o <DBHOME> -s status_db.txt –n <Node_Name>

Stop EM Agent  : emctl stop agent

As root,Unlock CRS  :  <GIHOME>/crs/install/rootcrs.pl -unlock


As root,Apply patch to Grid home : cd 13923374; opatch apply –oh <GI_Home> -local            -- or
                                           $GI_Home/OPatch/opatch auto /u01/home/oracle/product/11.2.0/db_1/patches/psupatch -oh <GI_Home>
                                   Check : opatch lsinventory


As root   ,Apply to DB home      : cd 13923374 ;opatch apply –oh <DB_Home> -local           -- or
                                           $DB_Home/OPatch/opatch auto /u01/home/oracle/product/11.2.0/db_1/patches/psupatch -oh <DB_Home>
                                   Check : opatch lsinventory


As root,Lock CRS   : <GI_HOME>/crs/install/rootcrs.pl -patch


Start DB home : srvctl start home -o <DB_Home> -s status_db.txt -n <Node_Name>


#####Repeat on other nodes in rolling manner####



==================================================

Update DBA registry

cd $ORACLE_HOME/rdbms/admin/
SQL> @catbundle.sql psu apply
SQL> exit


Check  for errors in logs

Check the following log files in $ORACLE_HOME/cfgtoollogs/catbundle for any errors:
catbundle_PSU_<database SID>_APPLY_<TIMESTAMP>.log
catbundle_PSU_<database SID>_GENERATE_<TIMESTAMP>.log


Update RMAN catalog

$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;










Other Method :

GI  Patch number - 17592127  (GI_PSU_Patch_No)
For DB, the patch number is 17540582  - (DB_PSU_Patch_No)
  17735354 (The GI PSU patch includes updates for both the Clusterware home and Database home that can be applied in a rolling fashion.)


1. Read readme files

2.Upgrade the opatch utility , if required

3. Next, create OCM.rsp
[grid@vm1 OPatch]$ cd /u01/app/grid/product/11.2.0/grid/OPatch/ocm/bin/emocmrsp
[oracle@vm1 OPatch]$ cd /u01/app/grid/product/11.2.0/dbhome_1/OPatch/ocm/bin/emocmrsp



4. Stop the database home on the node.
[oracle@vm1 ~]$ srvctl stop home -o $ORACLE_HOME -s /tmp/statfiledb.out

5. As both Oracle and Grid user, copy the file patch zip files in /home/oracle/ and /home/grid directories and unzip them

6.  Save database home configuration
[oracle@vm1] gi_psu_patch_no/custom/server/gi_psu_patch_no/custom/scripts/prepatch.sh -dbhome <ORACLE_HOME>


7. Stop GI and unlock GI home.
[grid@vm1 17592127]$ crsctl stop has

[root@vm1 install]#/u01/app/grid/product/11.2.0/grid/crs/install./roothas.pl -unlock

8. Apply GI_PSU Patch for Grid Home

$ORACLE_HOME/OPatch/opatch napply /home/grid/17592127 -oh $ORACLE_HOME -ocmrf /u01/app/grid/product/11.2.0/grid/OPatch/ocm/bin/ocm.rsp
[grid@vm1 OPatch]$ /u01/app/grid/product/11.2.0/grid/OPatch/opatch lsinv

11. Apply DB_PSU patch for GI home
[grid@vm1 ]$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/<DB_PSU_number>
[grid@vm1 OPatch]$ ./opatch lsinv




13. Applying GI_PSU patch for database home.
[oracle@vm1 17592127]$ $ORACLE_HOME/OPatch/opatch napply 17592127/custom/server -oh /u01/app/oracle/product/11.2.0/dbhome_1 -id 17592127 -ocmrf /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/ocm/bin/ocm.rsp
[oracle@vm1 OPatch]$ ./opatch lsinv

15.  Applying DB_PSU for database home.
<ORACLE_HOME>/OPatch/opatch apply -oh <ORACLE_HOME> -local <UNZIPPED_PATCH_LOCATION>/<DB_PSU_number> -ocmrf /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/ocm/bin/ocm.rsp
[oracle@vm1 OPatch]$ ./opatch lsinv


17. Run the post patch script for DB as database home user (oracle).  - Restoring database home configuration
<UNZIPPED_PATCH_LOCATION>/<GI_components_number>/custom/server/<GI_components_number>/custom/scripts/postpatch.sh -dbhome <ORACLE_HOME>


18. As root user , run the following from GI home

 <GI_HOME>/rdbms/install/rootadd_rdbms.sh
 <GI_HOME>/crs/install/rootcrs.pl -patch   - For GI home
 <GI_HOME>/crs/install/roothas.pl -patch   - For ORacle restart


19. As oracle user, restart the database.
[oracle@vm1 scripts]$ srvctl start home -o /u01/app/oracle/product/11.2.0/dbhome_1/ -s /tmp/statfiledb.out


20. Post patch installation for Database
[oracle@vm1 ~]$ sqlplus sys as sysdba
SQL> @?/rdbms/admin/catbundle.sql psu apply
SQL> @?/rdbms/admin/utlrp.sql





Note :

http://sandeepnandhadba.blogspot.in/2014/05/step-by-step-procedure-for-applying.html

https://en.wikibooks.org/wiki/RAC_Attack_-_Oracle_Cluster_Database_at_Home/Patching_Grid_and_Database_Software

https://learnwithme11g.wordpress.com/2011/05/05/applying-psu-patch-11-2-0-1-2-to-a-two-node-rac/

http://vijaydbacorner.blogspot.in/2013/03/11gr2-rolling-psu3-patch-13923374-grid.html

http://samiora.blogspot.in/2012/07/applying-rolling-patch-on-rac-11g-r2.html