I face “OPatch failed with error code 73 error” on my E-Business Suite R12.1.2 on 11.2.0.1 Rac database with ASM

I wanted to apply patch to my system. I started to check opatch lsinventory command on node 1 and no issue but on node 2 I faced OPatch failed with error code 73 error while running opatch lsinventory. Here is the details

$ opatch lsinventory

Invoking OPatch 11.2.0.1.5

Oracle Interim Patch Installer version 11.2.0.1.5
Copyright (c) 2010, Oracle Corporation. All rights reserved.
Oracle Home : /u01/VIS/db/11.2.0 Central Inventory : /u01/VIS/oraInventory
   from : /etc/oraInst.loc OPatch version : 11.2.0.1.5
OUI version : 11.2.0.1.0
OUI location : /u01/VIS/db/11.2.0/oui
Log file location : /u01/VIS/db/11.2.0/cfgtoollogs/opatch/opatch2011-08-09_09-54-34AM.log
Patch history file: /u01/VIS/db/11.2.0/cfgtoollogs/opatch/opatch_history.txt

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

LsInventorySession failed: Unable to create patchObject OPatch failed with error code 73

For Opatch fail errors the best way to enable debug and try to understand what is wrong on your system. Here is the debug steps

Set the environmental variable OPATCH_DEBUG equal to true.
$ export OPATCH_DEBUG=true
$ opatch lsinventory

INFO:PatchObject::createPatchObject() Patch location is /u01/VIS/db/11.2.0/inventory/oneoffs/8328200
INFO:PatchObject::createPatchObject() patch location is /u01/VIS/db/11.2.0/inventory/oneoffs/8328200
FINEST:PatchObject::PatchObject looks for the actions file /u01/VIS/db/11.2.0/inventory/oneoffs/8328200/etc/config/actions.xml

FINEST:PatchObject::PatchObject looks for the inventory file /u01/VIS/db/11.2.0/inventory/oneoffs/8328200/etc/config/inventory.xml
FINEST:PatchObject::PatchObject looks for the deploy file /u01/VIS/db/11.2.0/inventory/oneoffs/8328200/etc/config/deploy.xml
FINEST:PatchObject::PatchObject looks for the interview file /u01/VIS/db/11.2.0/inventory/oneoffs/8328200/etc/config/sequence.xml
FINE:PatchObject::createPatchObject() interview file /u01/VIS/db/11.2.0/inventory/oneoffs/8328200/etc/config/sequence.xml does not exist or is not readable
FINE:PatchObject::createPatchObject() deploy actions file /u01/VIS/db/11.2.0/inventory/oneoffs/8328200/etc/config/sequence.xml unreadable

FINEST:parserXMLFile : start
FINEST:parserXMLFile : start
FINEST:parserXMLFile : start
FINEST:PatchObject(oracleHomePath,patchID) INFO:PatchObject::createPatchObject() Patch location is /u01/VIS/db/11.2.0/inventory/oneoffs/8993052

INFO:PatchObject::createPatchObject() patch location is /u01/VIS/db/11.2.0/inventory/oneoffs/8993052
FINEST:PatchObject::PatchObject looks for the actions file /u01/VIS/db/11.2.0/inventory/oneoffs/8993052/etc/config/actions.xml
FINEST:PatchObject::PatchObject looks for the inventory file /u01/VIS/db/11.2.0/inventory/oneoffs/8993052/etc/config/inventory.xml
FINEST:PatchObject::PatchObject now looks for the actions file /u01/VIS/db/11.2.0/inventory/oneoffs/8993052/etc/config/actions
FINEST:PatchObject::PatchObject now looks for the inventory file /u01/VIS/db/11.2.0/inventory/oneoffs/8993052/etc/config/inventory
FINE:Loading the information from inventory/filemap.
INFO: SEVERE:OUI-67028:Inventory load failed… OPatch cannot load inventory for the given Oracle Home.
FINEST:Locker::release() FINEST:OUISessionManager::unRegister()
FINEST:Un-Registering the caller : OPatch FINEST:LsInventory::getInstance() returns

SEVERE:OUI-67073:LsInventorySession failed: Unable to create patchObject

INFO:Finishing LsInventorySession at Fri Aug 05 22:16:01 EEST 2011
INFO:Stack Description: java.lang.RuntimeException: Unable to create patchObject
INFO:StackTrace: oracle.opatch.HomeInventoryHelper.getOneOffEntry(HomeInventoryHelper.java:364)
INFO:StackTrace: oracle.opatch.OracleHomeInventory.load(OracleHomeInventory.java:2676)
INFO:StackTrace: oracle.opatch.LsInventorySession.loadAndPrintInventory(LsInventorySession.java:374)
INFO:StackTrace: oracle.opatch.LsInventorySession.process(LsInventorySession.java:327)
INFO:StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
INFO:StackTrace: oracle.opatch.OPatch.main(OPatch.java:649)

FINEST:Cleaning up the directory : “/u01/VIS/db/11.2.0/.patch_storage/patch_unzip”…

As you can see debug show us “8328200/etc/config/sequence.xml does not exist or is not readable”, I have been checked and I see that files already exists.

It is prod system which is very important to us thatswhy I prefer to follow oracle support suggestion.

I have been opened SR and they also suggest below steps:

1. Recover/Fix the existing inventory corruption on remote nodes

From failing node (or remote node i.e Node-2 in the example), please verify and ensure that missing patch object files (from ‘opatch lsinventory’ debug output) are present.

For example:

/oracle/product/10.2.0/db_1/inventory/oneoffs/4693355/etc/config/actions.xml
/oracle/product/10.2.0/db_1/inventory/oneoffs/4693355/etc/config/inventory.xml
or
/oracle/product/10.2.0/db_1/inventory/oneoffs/4693355/etc/config/actions
/oracle/product/10.2.0/db_1/inventory/oneoffs/4693355/etc/config/inventory

If they are missing, then copy them from successfull node (or Node-1 from which that particular patch was applied)

Retry running the ‘opatch lsinventory’ command from the failed node (i.e Node-2).

If ‘opatch lsinventory’ is repeating the same error but for a different patch number (in case many patches are applied in rolling upgrade mode), then please execute the same solution.

In this way, we can recover the inventory problem on the failed node (remote node) by manually creating the missing patch object files/folders.

2. Please, make sure apply the patch with local option in the future.

% opatch apply -local
% opatch napply -local -SKIP_SUBSET -SKIP_DUPLICATE

Here is the some usefull note which I followed:
Steps To Recreate Central Inventory(oraInventory) In RDBMS Homes [ID 556834.1]
Master Note For OPatch [ID 293369.1]

Advertisements