How
to Recreate the OraInventory 
Q:
How can I recreate the OraInventory if it gets corrupted or removed?
Solution
In cases where the
OraInventory is missing or otherwise corrupt, recreate the oraInventory
directory on UNIX systems, using the following steps. In a normal installation,
there is a Global Inventory (OraInventory) and a Local Inventory($ORACLE_HOME/inventory). 
- Locate the oraInst.loc file, which may be in different
     locations, depending on your system:
 
 /var/opt/oracle/oraInst.loc file
 or
 /etc/oraInst.loc
- Modify the file oraInst.loc file:
 
 cp /var/opt/oracle/oraInst.loc /var/opt/oracle/oraInst.loc.bak
 mkdir /u01/oracle/oraInventory
 
 ---file contents---
 inventory_loc=/u01/oracle/oraInventory
 inst_group=oinstall
 ---file contents---
Important:
Theses example uses a typical directory, considered an $ORACLE_BASE, and a typical UNIX group which installed the Oracle products. Ensure that the correct values are used for your system.
The oraInventory directory is usually a directory under the $ORACLE_HOME. For example, if the $ORACLE_HOME is equal to "/u01/oracle/product/10g", then the OraInventory could be "/u01/oracle/OraInventory".
Theses example uses a typical directory, considered an $ORACLE_BASE, and a typical UNIX group which installed the Oracle products. Ensure that the correct values are used for your system.
The oraInventory directory is usually a directory under the $ORACLE_HOME. For example, if the $ORACLE_HOME is equal to "/u01/oracle/product/10g", then the OraInventory could be "/u01/oracle/OraInventory".
- Change the permissions to be appropriate, (using your
     directory location):
 
 chmod 644 /var/opt/oracle/oraInst.loc
- For consistency, copy the file to Oracle home
     directory, (using your directory location):
 
 cp $ORACLE_HOME/oraInst.loc $ORACLE_HOME/oraInst.loc.bak
 cp /var/opt/oracle/oraInst.loc $ORACLE_HOME/oraInst.loc
- Run Oracle Universal Installer from your Oracle home as
     below, (using your site specific directory location and Oracle home name):
 
 cd $ORACLE_HOME/oui/bin
 ./runInstaller -silent -attachHome ORACLE_HOME="/u01/oracle/product/10.2" ORACLE_HOME_NAME="Ora10gHome"
- Check the inventory output is correct for your Oracle
     home:
 
 $ORACLE_HOME/OPatch/opatch lsinventory -detail
- If the table at the beginning of the output is showing
     the proper directories, and the Oracle home components are properly
     reflected in the details, then the Global Inventory has been successfully
     created from the Local Inventory. At this time, you may patch an maintain
     your Oracle home, as normal
 
