This week I came across the fact that the readme files for Applying Psu patches is often a puzzle to people. A PATCH action failed due to the fact that the –OH was NOT used, and in a Rac environment that is always something extra scary with dependencies. So I thought let us have some clearer picture with regard to this matter. Today i had to patch Oracle Restart environment with Grid Infrastructure 112030 and ditto Rdbms.
In order to make a good reminder for myself and for the community, well here are the steps that I performed. I have added some comments where needed.
Installing PSU patch.
Following steps were needed to install the PSU April 2012 successfully on an Oracle restart environment:
- ALWAYS Download the most recent version of OPATCH ( in my example on Linux (p6880880_112000_Linux-x86-64.zip).
- As root unzipped it in /opt/crs/product/112_ee_64/crs (that is because opath only looks in there for the right opatch version).
- As Root I did a chown of everything in /opt/crs/product/112_ee_64/crs/ to oracle:dba.
This might come as a shock to some but the PSU patches in 1120.. They are running as ROOT user. So make sure you can become ROOT on the box where you need this patch (or make sure you sit next to the Unix Admin and tell him what to do in installing and make him do the typing 😎 ).
- As ROOT I did: /opt/crs/product/112_ee_64/crs/OPatch/ocm/bin/emocmrsp (that created a responsfile needed (ocm.rsp cause Oracle figured out dba are not fond of typing same answers again and again while patching).
- I Unzipped the patch (p13696251_112030_Linux-x86-64.zip (psu april 2012) to /opt/oracle/stage. Note this created two subdirectories:
- drwxr-xr-x 5 oracle dba 4096 Apr 5 16:23 13696251
- drwxr-xr-x 4 oracle dba 4096 Apr 5 16:23 13696216
- As ROOT , I set my path : export PATH=/opt/crs/product/112_ee_64/crs/OPatch:$PATH
- I checked it with: which opatch
- Since I will patch BOTH the Grid INFRA and Rdbms for restart I did this:
## In order to patch the grid Infra structure which is installed in /opt/crs/product/112_ee_64/crs:
opatch auto /opt/oracle/stage -oh /opt/crs/product/112_ee_64/crs -ocmrf /opt/crs/product/112_ee_64/crs/OPatch/ocm/bin/ocm.rsp
##To patch one or more Oracle RAC database homes (I have only one, and the Rdbms software is located under /opt/oracle/product/11203_ee_64/db:
opatch auto /opt/oracle/stage -oh /opt/oracle/product/11203_ee_64/db -ocmrf /opt/crs/product/112_ee_64/crs/OPatch/ocm/bin/ocm.rsp
Note: YOU have to make SURE in BOTH patching cases (patching the grindinfra and the Rdbms) you use full path and name with the -ocmrf example: /opt/crs/product/112_ee_64/crs/OPatch/ocm/bin/ocm.rsp
Because otherwise your opatch will fail.