Patching Methods
-----------------
opatch auto
opatch apply/napply - Called Manual Method
General steps before applying the Patch
---------------------------------------
1. upgrade the OPatch . download 6880880 Opatch first
2. Generate the OCM Response file
3. Take oracle/GI home backup
4. Check the Patch conflict.
opatch auto Method
--------------------
11gR2/12cR1
-----------
download the GI PSU bundle
Example : 20996944 (11.2.0.3.15) , dont download DB PSU ( 20760997 (11.2.0.3.15) )
Applying in GI Home . There are 2 ways
Case 1 : This will apply GI Home as well as ALL DB homes on the server . Dangerous. CRS should be up.only local node gets patched.repeat the step for remaining nodes
# opatch auto <UNZIPPED_PATCH_LOCATION> -ocmrf <ocm response file>
Case 2 : This will allow you to apply only on GI Home.it will not apply any other homes.CRS should be up.only localnode gets patched.repeat the step for remaining
nodes
# opatch auto <UNZIPPED_PATCH_LOCATION> -oh <GI_HOME> -ocmrf <ocm response file>
# opatch auto <UNZIPPED_PATCH_LOCATION> -oh <DATABASE_HOME> -ocmrf <ocm response file>
opatch apply/napply - Called Manual Method
---------------------------------------------
11gR2
-----
GRID
----
cluster should be down
# export ORACLE_HOME=/ocw/grid
# $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/crs/install/rootcrs.pl -unlock
% export ORACLE_HOME=/ocw/grid
% $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/stage/gipsu3/12419353
% $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/stage/gipsu3/12419331
# export ORACLE_HOME=/ocw/grid
# $ORACLE_HOME/rdbms/install/rootadd_rdbms.sh
# export ORACLE_HOME=/ocw/grid
# $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/crs/install/rootcrs.pl -patch
DB/RDBMS
--------
% $GI_HOME/bin/srvctl stop home -o /db/11.2/db1 -s /tmp/statefile_db1.out -n <local node>
% $GI_HOME/bin/srvctl stop home -o /db/11.2/db2 -s /tmp/statefile_db2.out -n <local node>
% /u01/stage/gipsu3/12419353/custom/server/12419353/custom/scripts/prepatch.sh -dbhome /db/11.2/db1
% /u01/stage/gipsu3/12419353/custom/server/12419353/custom/scripts/prepatch.sh -dbhome /db/11.2/db2
% export ORACLE_HOME=/db/11.2/db1
% $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/stage/gipsu3/12419353/custom/server/12419353
% $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/stage/gipsu3/12419331 ( DB PSU. either use napply or apply)
% export ORACLE_HOME=/db/11.2/db2
% $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/stage/gipsu3/12419353/custom/server/12419353
% $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/stage/gipsu3/12419331 ( DB PSU. either use napply or apply)
% /u01/stage/gipsu3/12419353/custom/server/12419353/custom/scripts/postpatch.sh -dbhome /db/11.2/db1
% /u01/stage/gipsu3/12419353/custom/server/12419353/custom/scripts/postpatch.sh -dbhome /db/11.2/db2
# $GI_HOME/bin/srvctl start home -o /db/11.2/db1 -s /tmp/statefile_db1.out -n <local node>
# $GI_HOME/bin/srvctl start home -o /db/11.2/db2 -s /tmp/statefile_db2.out -n <local node>
% cd $ORACLE_HOME/rdbms/admin
% sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
12R1
----
GRID
----
cluster should be down
# /ocw/c101/crs/install/rootcrs.pl -prepatch
$ /ocw/c101/OPatch/opatch apply -oh /ocw/c101 -local /home/grid/tmp/17272829/17027533 -silent -ocmrf /ocw/c101/OPatch/ocm/bin/ocm.rsp
$ /ocw/c101/OPatch/opatch apply -oh /ocw/c101 -local /home/grid/tmp/17272829/17077442 -silent -ocmrf /ocw/c101/OPatch/ocm/bin/ocm.rsp
$ /ocw/c101/OPatch/opatch apply -oh /ocw/c101 -local /home/grid/tmp/17272829/17303297 -silent -ocmrf /ocw/c101/OPatch/ocm/bin/ocm.rsp
# /ocw/c101/rdbms/install/rootadd_rdbms.sh
# /ocw/c101/crs/install/rootcrs.pl -postpatch
DB/RDBMS
--------
$ rm -f /home/oracle/app/oracle/product/12.1/c101/OHstat-e60d4d84-3bae-45fe-b896-0c397bcbb334
$ export ORACLE_HOME=/home/oracle/app/oracle/product/12.1/c101
$ /home/oracle/app/oracle/product/12.1/c101/bin/srvctl stop home -o /home/oracle/app/oracle/product/12.1/c101 -n racnode1 -s
/home/oracle/app/oracle/product/12.1/c101/OHstat-e60d4d84-3bae-45fe-b896-0c397bcbb334
$ /home/grid/tmp/17272829/17077442/custom/scripts/prepatch.sh -dbhome /home/oracle/app/oracle/product/12.1/c101
$ /home/oracle/app/oracle/product/12.1/c101/OPatch/opatch apply -oh /home/oracle/app/oracle/product/12.1/c101 -local /home/grid/tmp/17272829/17027533
-silent -ocmrf /ocw/c101/OPatch/ocm/bin/ocm.rsp
$ /home/oracle/app/oracle/product/12.1/c101/OPatch/opatch apply -oh /home/oracle/app/oracle/product/12.1/c101 -local /home/grid/tmp/17272829/17077442
-silent -ocmrf /ocw/c101/OPatch/ocm/bin/ocm.rsp
$ /home/grid/tmp/17272829/17077442/custom/scripts/postpatch.sh -dbhome /home/oracle/app/oracle/product/12.1/c101
$ /home/oracle/app/oracle/product/12.1/c101/bin/srvctl start home -o /home/oracle/app/oracle/product/12.1/c101 -n racnode1 -s
/home/oracle/app/oracle/product/12.1/c101/OHstat-e60d4d84-3bae-45fe-b896-0c397bcbb334
-----
Ref:
------
Quick Reference to Patch Numbers for Database/GI PSU, SPU(CPU), Bundle Patches and Patchsets (Doc ID 1454618.1)
For 11gR2/Before
-----------------
Patch 11gR2 Grid Infrastructure Standalone (Oracle Restart) (Doc ID 1089476.1)
FAQ: OPatch/Patch Questions/Issues for Oracle Clusterware (Grid Infrastructure or CRS) and RAC Environments (Doc ID 1339140.1)
For 12c
--------
Example: Applying a 12c GI PSU With opatchauto in GI Cluster or Standalone Environment (Doc ID 1594183.1)
Example: Manually Apply a 12c GI PSU/Interim or DB Interim Patch in Cluster Environment (Doc ID 1594184.1)
Example: Manually Apply a 12c GI PSU/Interim or DB Interim Patch in Standalone Environment (Doc ID 1595408.1)
Example: Applying a 12c GI PSU With opatchauto in non-rolling Mode (Doc ID 1597085.1)