Tuesday, 6 May 2014

Opatch Failed Because its Picking Wrong GI HOME

Recently we hitting very skeptical problem While applying Patch on GI home its picking wrong GI home which doesn't not exists any time even before as well.

GI_HOME = /u01/app/grid/11gR2

Starting OPatch auto on this GI_HOME:-

opatch auto /11.2.0.3.8_GI_DB_PSU -ocmrf /OPatch/ocm/bin/ocm.rsp 

output:-
Executing /apps/grid/perl/bin/perl ./crs/patch11203.pl -patchdir -patchn 11.2.0.3.8_GI_DB_PSU -ocmrf /OPatch/ocm/bin/ocm.rsp -paramfile 
/apps/grid/crs/install/crsconfig_params

Even not able to unlock the GI_HOME as well
. oraenv
+ASM
echo $ORACLE_HOME
/u01/app/grid/11gR2

$ORACLE_HOME/crs/install/roothas.pl -unlock
OUTPUT:- 
Using configuration parameter file: /u01/app/grid/11gR2/crs/install/crsconfig_params
Oracle Restart home: /apps/grid not found

its trying to look crsconfig_params in wrong or not existing CRS home /apps/grid/crs/install/crsconfig_param from above two scenarios.

Solution:-

Then We tried to Look into ora inventory it might have any removed homes information but that Inventory looks fine. we tried to  look into that all the areas wherever possible to have that /apps/grid home but not able to find how its getting opatch this wrong GI_HOME that is reason i mention its skeptical .  After go through step by step all files  Opatch will get CRS_HOME  from olr.loc (oracle local registry ).  After pointed to right home then we succeded the opatch  on GI_HOME.


[oracle@hostname ~]$ ls -ltr /etc/oracle

total 2244
drwxrwx--- 2 oracle dba 4096 Jan 21 2013 lastgasp
drwxr-x--- 3 root dba 4096 Jan 21 2013 scls_scr
drwxrwx--- 5 root dba 4096 Jan 21 2013 oprocd
-rw-r--r-- 1 root root 16 Jan 21 2013 ocr.loc.orig
-rw-r--r-- 1 root dba 67 Jan 21 2013 ocr.loc
-rw-r--r-- 1 root root 79 Jan 30 2013 olr.loc.orig
-rw-r----- 1 root dba 72 Jan 30 2013 olr.loc
-rws--x--- 1 root dba 2262031 Jan 31 2013 setasmgid

[oracle@hostname ~]$ cat /etc/oracle/olr.loc

olrconfig_loc=/u01/apps/grid/11gR2/cdata/hostname.olr
crs_home=/apps/grid 

Above one is culprit of the problem . If we pointed to right home it will fix the problem. Since this file owned by root we need to edit  as root. Make sure before edit take backup of this file.

step 1)  Stop the CRS as root

su - root
crsctl stop has

step 2) Edit /ect/oracle/olr.loc to point right CRS_HOME

[oracle@hostname ~]$ cat /etc/oracle/olr.loc

olrconfig_loc=/u01/apps/grid/11gR2/cdata/hostname.olr
crs_home=/u01/apps/grid/11gR2

Step 3)  Start the CRS as root 

crsctl start has


Then retry the opatch it will succeeded with out any issues. 


No comments:

Post a Comment