Monday, August 22, 2011

CheckSystemSpace ignorance

(originally published at Pythian)
Every installation is unique. It can be the same software and hardware
but one installation will squease you like a lemon in jucier another one
will make you feel that you and only you is the boss here.

The way how it behaves depends not only on stars location and on
Saturn position in Zenith but also on how scripts finished, what SA did not
implement and change and how vigorously developers spent a day.

In any case you should put all your heart to the process either it is GUI
or silent installation, feel the breath of installer and give heed to every
entry appeared in the output log.

But I digressed...

Today the post is about one of the hidden parameters for OPatch which
is the main contributor to non-simple process of patching.

11.2.0.2.3 Grid Infrastructure patch failed at one of test RAC systems
and only log showed that CheckSystemSpace triggered the failure.
It was asking for ~3Gb of free space, but file system did not have that much.

Recalling -ingoreSysPreReqs option for runInstaller, I checked MOS
trying to find any option/parameter/variable that can allow to ignore
system space check to go further with installation.
Of course, if it was production system I would rather clean it or increase
space, but for sake of testing I decided to look for any option
that would "trick" opatch utility.

And finally it was found and helped me in that OPATCH_DEBUG variable
which after setting to true forced opatch to splash out lots of detailed
information together with list of different variables.

SKIP_VERIFY and SKIP_VERIFY_SPACE were among them and
I added SKIP_VERIFY_SPACE to opatch command line and output
was changed to another one but paying no heed to space issue.

before
/bin/su oracle -c ' /u01/app/grid/11.2.0/OPatch/opatch napply  \

/home/oracle/install/patches/11.2.0.2.3GI/12419353 -local -silent \
-ocmrf /home/oracle/install/patches/ocm.rsp \
-oh /u01/app/grid/11.2.0 '
...
Prerequisite check "CheckSystemSpace" failed.
The details are:
Required amount of space(3131607220) is not available.
UtilSession failed: Prerequisite check "CheckSystemSpace" failed.
...

after
[root@r1 ~]# /bin/su oracle -c ' /u01/app/grid/11.2.0/OPatch/opatch napply \

/home/oracle/install/patches/11.2.0.2.3GI/12419353 -local -silent \
-ocmrf /home/oracle/install/patches/ocm.rsp -oh \
/u01/app/grid/11.2.0 \
OPatch.SKIP_VERIFY_SPACE=true '
...
Prerequisite check "CheckApplicable" failed.
The details are:
....


And if it is used with CheckSystemSpace of prereq it does not avoid the check
anyway
/bin/su oracle -c ' /u01/app/grid/11.2.0/OPatch/opatch prereq  \

CheckSystemSpace \
-phBaseDir /home/oracle/install/patches/11.2.0.2.3GI/12419353 \
OPatch.SKIP_VERIFY_SPACE=true '
Invoking OPatch 11.2.0.1.6

Oracle Interim Patch Installer version 11.2.0.1.6

Copyright (c) 2011, Oracle Corporation. All rights reserved.

PREREQ session


Oracle Home : /u01/app/grid/11.2.0

Central Inventory : /u01/app/oraInventory
from : /etc/oraInst.loc
OPatch version : 11.2.0.1.6
OUI version : 11.2.0.2.0
Log file location : /u01/app/grid/11.2.0/cfgtoollogs/opatch/opatch2011-08-25_23-46-59PM.log

Invoking prereq "checksystemspace"


Prereq "checkSystemSpace" failed.


The details are:

Required amount of space(3131607220) is not available.

OPatch succeeded.


Worth to note that those parameters can be added to "opatch napply"
or to "opatch apply" execution but not to "opatch auto" call
[root@r1 11.2.0.2.3GI]# /u01/app/grid/11.2.0/OPatch/opatch \

auto /home/oracle/install/patches/11.2.0.2.3GI \
-oh /u01/app/grid/11.2.0 OPatch.SKIP_VERIFY=true \
OPatch.SKIP_VERIFY_SPACE=true
Executing /usr/bin/perl /u01/app/grid/11.2.0/OPatch/crs/patch112.pl
-patchdir /home/oracle/install/patches -patchn 11.2.0.2.3GI
-oh /u01/app/grid/11.2.0 OPatch.SKIP_VERIFY=true
OPatch.SKIP_VERIFY_SPACE=true
-paramfile /u01/app/grid/11.2.0/crs/install/crsconfig_params
opatch auto log file location is
/u01/app/grid/11.2.0/OPatch/crs/../../cfgtoollogs/opatchauto2011-08-26_00-15-44.log
Invalid extra options passed: OPatch.SKIP_VERIFY=true
OPatch.SKIP_VERIFY_SPACE=true
Usage:
...


Have a good day!

No comments: