Saturday, June 12, 2010

10gR2 : OPatch failed with Unable to create patchObject



Hi Viewer,

After long time, I am posting an interesting issue which I faced when applying the CPU patch with OPATCH utility.

When I tried to run opatch lsinventory, I got the following error message

[oracle@proddb ContentsXML]$ opatch lsinventory
Invoking OPatch 10.2.0.4.2

Oracle Interim Patch Installer version 10.2.0.4.2
Copyright (c) 2007, Oracle Corporation. All rights reserved.


Oracle Home : /oracle/product/10.2.0.4/PROD
Central Inventory : /oracle/product/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.4.2
OUI version : 10.2.0.4.0
OUI location : /oracle/product/10.2.0.4/PROD/oui
Log file location : /oracle/product/10.2.0.4/PROD/cfgtoollogs/opatch/opatch2010-06-09_02-10-45AM.log



Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

LsInventorySession failed: Unable to create patchObject

OPatch failed with error code 73
[oracle@proddb ContentsXML]$

So I set the OPATCH_DEBUG=TRUE environment variable for debugging more on this issue, I found the following extra error information,

OracleHomeInventory::load() begins to process raw data from OUI to build up OPatch primitive classes
PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /oracle/product/10.2.0.4/PROD/inventory/oneoffs/8576156/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /oracle/product/10.2.0.4/PROD/inventory/oneoffs/8576156/etc/config/inventory.xml
parserXMLFile : start
parserXMLFile : start
.
.
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/rdbms/jlib/qsma.jar
PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /oracle/product/10.2.0.4/PROD/inventory/oneoffs/8436582/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /oracle/product/10.2.0.4/PROD/inventory/oneoffs/8436582/etc/config/inventory.xml
parserXMLFile : start
parserXMLFile : start
.
.
PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /oracle/product/10.2.0.4/PROD/inventory/oneoffs/8788977/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /oracle/product/10.2.0.4/PROD/inventory/oneoffs/8788977/etc/config/inventory.xml
parserXMLFile : start


Inventory load failed... OPatch cannot load inventory for the given Oracle Home.

Locker::release()
OUISessionManager::unRegister()
Un-Registering the caller : OPatch
LsInventory::getInstance() returns
LsInventorySession failed: Unable to create patchObject
Cleaning up the directory : "/oracle/product/10.2.0.4/PROD/.patch_storage/patch_unzip"...

OPatch failed with error code 73
[oracle@proddb ContentsXML]$

Referred the following support notes for further troubleshooting, but it didn't fix the issue.

SOLARIS: "opatch lsinventory" is failing with error code 73 on Remote Node in 10.2.0.4 RAC environment [ID 793600.1]
Opatch Lsinventory Fails With "Unable to create patchObject" OPatch failed with error code 73 [ID 751152.1]
Opatch error: "Apply Session failed: ApplySession failed to prepare the system. No detail available." [ID 864803.1]

Tried recreating OraInventory using runInstaller utility. But that option also did not help.

After spending a lot of time, I upgraded the OPATCH utility from 10.2.0.4.2 to 10.2.0.4.8. Finally it fixed the issue.

Comments are Welcome!!!

No comments:

Post a Comment