Saturday, 31 October 2015

Oracle Database - Enterprise Edition - Applying Patch 21800477: QUARTERLY DATABASE PATCH FOR EXADATA (OCT2015 - 11.2.0.4.20)

Oracle Database - Enterprise Edition - Applying Patch 21800477: QUARTERLY DATABASE PATCH FOR EXADATA (OCT2015 - 11.2.0.4.20)

Note steps below are for patching DB Home only. Please review the relevant Patch README file for patching only Grid Infrastructure (GI) home or GI home and DB home together.

- Download Patch 21800477 (p21800477_112040_Linux-x86-64.zip) and copy onto server staging area say PATCH_TOP with appropriate permissions.

Apply latest OPatch Patch

- Check opatch version

$ORACLE_HOME/OPatch/opatch version

- You must use the OPatch utility version 11.2.0.3.6 or later to apply this patch. 

Apply latest OPatch Patch - on all nodes.

cd $ORACLE_HOME
mv OPatch OPatch_<ddmmyy>
unzip /sid/PATCH_TOP/p6880880_112000_Linux-x86-64.zip
export PATH=$ORACLE_HOME/OPatch:$PATH
opatch version

OCM Configuration:

OPatch utility will prompt for your OCM (Oracle Configuration Manager) response file (ocm.rsp) when it is run. Provide ocm.rsp path if it exists or if not create 

it by running following command:

$ORACLE_HOME/OPatch/ocm/bin/emocmrsp

- Unzipped patch location must have read permission for ORA_INSTALL group of user who owns GI Home or group owner of Oracle central inventory.

- cd /sid/PATCH_TOP 

$ unzip p21800477_112040_Linux-x86-64.zip

- cd /sid/PATCH_TOP/21800477

Validate Oracle Inventory on Grid Infrastructure Home and DB Home

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

Save the output of opatch lsinventory to compare the output later in case there are post patching issues and rollback is needed.

OPatch Conflict Check

Determine whether any currently installed one-off patches conflict with the Database Patch For Exadata (OCT2015 - 11.2.0.4.20)   21800477 as follows:

For Grid Infrastructure Home, as home user (skip this step if applying patch on DB home only):

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /sid/PATCH_TOP/21800477/21761335
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /sid/PATCH_TOP/21800477/21352649
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /sid/PATCH_TOP/21800477/21352642

For Database home, as home user:

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /sid/PATCH_TOP/21800477/21761335
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /sid/PATCH_TOP/21800477/21352649/custom/server/21352649


This report will indicate the patches that conflict with 21800477 and patches for which patch 21800477 is a superset.


Run OPatch SystemSpace Check

Check if enough free space is available on the ORACLE_HOME filesystem for the patches to be applied as given below:

For Grid Infrastructure Home, as home user (skip this step if applying patch on DB home only):

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir /sid/PATCH_TOP/21800477/21761335
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir /sid/PATCH_TOP/21800477/21352649
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir /sid/PATCH_TOP/21800477/21352642

For Database home, as home user:

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir /sid/PATCH_TOP/21800477/21761335
$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir /sid/PATCH_TOP/21800477/21352649/custom/server/21352649

- Stop DB services - on all nodes

$ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /tmp/$ORACLE_SID.txt -n <hostname>

  Stop DB Console

        $ORACLE_HOME/bin/emctl stop dbconsole



Apply following RDBMS patches 

- 21761335: DATABASE PATCH FOR EXADATA (OCT2015 - 11.2.0.4.20)
- 21352649: OCW Patch Set Update : 11.2.0.4.7  

Pre patch step (all DB nodes)

$ /sid/PATCH_TOP/21800477/21352649/custom/server/21352649/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
 
Apply patch 21761335 (all DB nodes)
 
$ opatch napply -oh $ORACLE_HOME -local /sid/PATCH_TOP/21800477/21761335

Apply patch 21352649 (all DB nodes)

$ opatch napply -oh $ORACLE_HOME -local /sid/PATCH_TOP/21800477/21352649/custom/server/21352649

Patches [   20420937 ] will be rolled back

Post patch step (all DB nodes)
  
/sid/PATCH_TOP/21800477/21352649/custom/server/21352649/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

- Start DB services

$ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /tmp/$ORACLE_SID.txt -n <hostname> (all DB nodes)

Patch postinstallation (one node only)

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> connect / as sysdba

SQL> @catbundle.sql exa apply
SQL> @utlrp.sql  
SQL> exit

Verify patch application 

opatch lsinv -oh $ORACLE_HOME |egrep '21761335|21352649'  

Start Mid-Tier services


Rollback patch

- cd $ORACLE_HOME

- Stop DB services - on all nodes

$ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /tmp/$ORACLE_SID.txt -n <hostname>

  Stop DB Console

        $ORACLE_HOME/bin/emctl stop dbconsole

- Rollback patch 21761335 - all nodes

- Rollback patch 21352649 - all nodes

- Start DB services - all nodes

Post patch rollback:

- cd $ORACLE_HOME

SQL> connect / as sysdba

SQL> @rdbms/admin/catbundle_EXA_<database SID>_ROLLBACK.sql

- Validate Oracle Inventory on Grid Infrastructure Home and DB Home

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

Re-apply any patches that are missing in the Oracle Inventory after patch roll back.#

- Start Mid-Tier services

Related Posts:

Applying Patch 17747140 - QUARTERLY DATABASE PATCH FOR EXADATA (JAN 2014 - 11.2.0.3.22) and Patch 17992671 - CRS PATCH FOR EXADATA (JAN 2014 - 11.2.0.3.22)

No comments:

Post a Comment