Today I was supposed to apply an opatch at client side. Unfortunately, when enter opatch lsinventory to check with opatch environment, I recieved an error stating OPatch failed with error code 73

bash-3.2$ opatch lsinventory
Invoking OPatch 11.1.0.6.2


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


Oracle Home       : /oracle/ora11107
Central Inventory : /oracle/oraInventory
from           : /etc/oraInst.loc
OPatch version    : 11.1.0.6.2
OUI version       : 11.1.0.7.0
OUI location      : /oracle/ora11107/oui
Log file location : /oracle/ora11107/cfgtoollogs/opatch/opatch2011-06-15_14-35-29PM.log

List of Homes on this system:

Home name= ora_10201, Location= "/oracle/ora1020"
Inventory load failed... OPatch cannot load inventory for the given Oracle Home.
Possible causes are:
Oracle Home dir. path does not exist in Central Inventory
Oracle Home is a symbolic link
Oracle Home inventory is corrupted
LsInventorySession failed: OracleHomeInventory gets null oracleHomeInfo

OPatch failed with error code 73

A point I looked into was the Home name which was  showing as ora_10201, Location= “/oracle/ora1020”. I had some doubt in my mind why its going for 10g home. After a short chat with them(client), I came to know they have not installed 11.1.0.7 but copied from one server and pasted over here (tar and untar). Then relink all. They had relinked the oracle binaries but they didn’t set oracle inventory. Which is why it was throwing this error. I tried some workaround for that.

1. Tried to set 11.1.0.7 inventory location in /etc/oraInst.loc. But it failed,

bash-3.2$ pwd
/oracle/ora11107/OPatch
bash-3.2$ opatch lsinventory
Invoking OPatch 11.1.0.6.2

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


Oracle Home       : /oracle/ora11107
Central Inventory : /oracle/ora11107/oraInventory
from           : /etc/oraInst.loc
OPatch version    : 11.1.0.6.2
OUI version       : 11.1.0.7.0
OUI location      : /oracle/ora11107/oui
Log file location : /oracle/ora11107/cfgtoollogs/opatch/opatch2011-06-15_14-41-14PM.log

OPatch failed to locate Central Inventory.
Possible causes are:
The Central Inventory is corrupted
The oraInst.loc file specified is not valid.
LsInventorySession failed: OPatch failed to locate Central Inventory.
Possible causes are:
The Central Inventory is corrupted
The oraInst.loc file specified is not valid.

OPatch failed with error code 73

2. Another workaround which did worked out. Kept the same inventory location .i.e. /oracle/oraInventory. The only change done was, I just copied the inventory directory of same oracle version i.e. 11.1.0.7 from another server and paste at same location i.e. /oracle/oraInventory. Thats it. Checked with opatch lsinventory and its working.

bash-3.2$ opatch lsinventory
Invoking OPatch 11.1.0.6.2

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


Oracle Home       : /oracle/ora11107
Central Inventory : /oracle/oraInventory
from           : /etc/oraInst.loc
OPatch version    : 11.1.0.6.2
OUI version       : 11.1.0.7.0
OUI location      : /oracle/ora11107/oui
Log file location : /oracle/ora11107/cfgtoollogs/opatch/opatch2011-06-15_15-47-49PM.log

Lsinventory Output file location : /oracle/ora11107/cfgtoollogs/opatch/lsinv/lsinventory2011-06-15_15-47-49PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (3):

Oracle Database 11g                                                  11.1.0.6.0
Oracle Database 11g Patch Set 1                                      11.1.0.7.0
Oracle Installation Products                                         11.1.0.7.0
There are 3 products installed in this Oracle Home.

Interim patches (1) :

Patch  7308054      : applied on Thu May 12 09:09:09 GMT+05:30 2011
Created on 15 Jan 2009, 14:35:10 hrs UTC
Bugs fixed:
7308054

--------------------------------------------------------------------------------

OPatch succeeded.
bash-3.2$

Given below is another opatch error, for which the same is applicable.

bash-3.2$ opatch lsinventory
Invoking OPatch 11.1.0.6.2

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


Oracle Home       : /oracle/ora11107
Central Inventory : /oracle/ora11107/inventory/
from           : /etc/oraInst.loc
OPatch version    : 11.1.0.6.2
OUI version       : 11.1.0.7.0
OUI location      : /oracle/ora11107/oui
Log file location : /oracle/ora11107/cfgtoollogs/opatch/opatch2011-06-15_15-15-21PM.log

List of Homes on this system:

Inventory load failed... OPatch cannot load inventory for the given Oracle Home.
Possible causes are:
Oracle Home dir. path does not exist in Central Inventory
Oracle Home is a symbolic link
Oracle Home inventory is corrupted
LsInventorySession failed: OracleHomeInventory gets null oracleHomeInfo

OPatch failed with error code 73