SYMPTOMS
Applying Grid Infrastructure PSU using "opatch auto" fails with "The opatch Component check failed", for example:
11.2.0.1 example:
# opatch auto /u01/home
Executing /usr/bin/perl <GI_HOME>/OPatch/crs/patch112.pl -patchdir /u01 -patchn home -paramfile <GI_HOME>/crs/install/crsconfig_params
2010-07-29 05:37:28: Parsing the host name
2010-07-29 05:37:28: Checking for super user privileges
2010-07-29 05:37:28: User has super user privileges
Using configuration parameter file: <GI_HOME>/crs/install/crsconfig_params
The opatch Component check failed. This patch is not applicable for /u01
The opatch Component check failed. This patch is not applicable for <DB_HOME>
The opatch Applicable check failed for <DB_HOME>. The patch is not applicable for <DB_HOME>
The opatch Applicable check failed for <DB_HOME>. The patch is not applicable for <DB_HOME>
prepatch execution for DB home ... failed
11.2.0.3 example:
# <GI_HOME>/OPatch/opatch auto /patch -ocmrf /patch/ocm.rsp
Executing <GI_HOME>/perl/bin/perl <GI_HOME>/OPatch/crs/patch11203.pl -patchdir / -patchn patch -ocmrf /patch/ocm.rsp -paramfile <GI_HOME>/crs/install/crsconfig_params
<GI_HOME>/crs/install/crsconfig_params
<GI_HOME>/crs/install/s_crsconfig_defs
This is the main log file: <GI_HOME>/cfgtoollogs/opatchauto2013-05-30_07-40-32.log
This file will show your detected configuration and all the steps that opatchauto attempted to do on your system: <GI_HOME>/cfgtoollogs/opatchauto2013-05-30_07-40-32.report.log
2013-05-30 07:40:32: Starting Clusterware Patch Setup
Using configuration parameter file: <GI_HOME>/crs/install/crsconfig_params
The opatch Component check failed. This patch is not applicable for <DB_HOME>
Conflict check failed for oracle home <DB_HOME>
Conflict check failed
Conflict-Check has failed . Please refer to <GI_HOME>/cfgtoollogs/opatchauto2013-05-30_07-40-32.log for details
The opatch auto log may show ZOP-45:
ZOP-45: The patch(es) are not applicable on the Oracle Home because some required components are not installed (or) languages not supported.
CHANGES
Applying Grid Infrastructure PSU using "opatch auto"
CAUSE
There are several possibilities that can cause this:
1). "opatch auto <UNZIPPED_PATCH_LOCATION>". The directory where patch is unzipped is not supplied as <UNZIPPED_PATCH_LOCATION>
2). patch is downloaded and unzipped into an existing and non-empty directory.
3). opatch executable is not installed and launched from $GRID_HOME/OPatch.
4). $OH/.patch_storage cannot be created.
5). listener is running from DB home
6). "OPatch" directory in DB home is owned by root:oinstall instead of <homeowner>:<oinstall> as required.
7). GI user and RDBMS user are different. workaround is to apply manually (Note: 1210964.1. This is an internal note, please contact Oracle Support to get assistance).
SOLUTION
1). Make sure the <path> after "opatch auto <path> " is pointed the directory where patch is unzipped.
2). Make sure the patch is downloaded and unzipped into an empty directory.
3). OPatch should be installed in $GRID_HOME/OPatch. It should not be installed outside of $GRID_HOME. Use the syntax given in readme unzip <opatch zipfile> -d $GRID_HOME to install opatch to $GRID_HOME.
Do not launch opatch directly from $GRID_HOME/OPatch. i.e.
cd $GRID_HOME/OPatch
./opatch auto
This will cause an issue fixed in bug: 10009350. Workaround for bug 10009350 is:
As root user:
cd $GRID_HOME/crs/install
./rootcrs.pl -patch
Instead, one should include the $GRID_HOME/OPatch in the path, and launch opatch from the unzipped patch directory.
4). If opatch complain $ORACLE_HOME/.patch_storage cannot be created, manually create .patch_storage and give read-write-execute permission for the normal user (who operates OPatch)
5). Check if there is listener running out of DB home, if so shutdown listener from DB home.
6). For each home to be patched, "OPatch" directory in DB home must be owned by <homeowner>:<oinstall>.
See: Document 1553964.1 "This Patch Is Not Applicable" Encountered While Using 'opatch auto' Where 'OPatch' Directory is Not Owned by <homeowner>:<oinstall>
If above steps have been examined, but you are still getting "opatch Applicable check failed", please contact Oracle Support.
7). If GRID user and RDBMS user are different, workaround is to apply manually (Note: 1210964.1. This is an internal note, please contact Oracle Support to get assistance). For Oracle Restart environment, one can use note 1089476.1.
|