Sunday, January 9, 2011

What is oraInventory

What is oraInventory

The Orainventory is the location for the OUI's Book keeping

The inventory stores information about.

  • All the Oracle software products installed on all ORACLE_HOMES on a machine
  • Other non-oracle products such as Java Runtime env's (JRE)

Binary OraInventory

Before OUI 2.X (or 11.5.7 or earlier)the inventory was binary, the binary orainvenory maintains in inventory in binary format

XML Inventory

Starting from OUI 2.X and 11.5.8 information in the inventory is stored in the Extensible Markup Language (XML) format.

The XML format allows easier diagnostic of the problem and faster loading of data.

XML inventory is divided into 2 components.

  1. Global Inventory

Global Inventory holds information about Oracle Products on a Machine, The inventory contains the high level list of all oracle products installed on a machine such as ORACLE_HOMES or JRE.

It doesn't have any information about the details of patches applied on each ORACLE_HOMES.

There should be only one per machine. Its locations is defined in the oraInst.loc in /etc (on Linux) or /var/opt/oracle (solaris).

  1. Local Inventory

There is one Local inventory per ORACLE_HOME.

Inventory inside each Oracle Home is called as local Inventory or ORACLE_HOME Inventory. This Inventory holds information to that ORACLE_HOME only.

Can I have multiple Global Inventories on a machine?

Can you have multiple global Inventory and answer is YES you can have multiple global Inventory but if your upgrading or applying patch then change Inventory Pointer oraInst.loc to respective location.

If you are following single global Inventory and if you wish to uninstall any software then remove it from Global Inventory as well.

What to do if my Global Inventory is corrupted?

If your global Inventory is corrupted, you can recreate global Inventory on machine using Universal Installer and attach already Installed oracle home by option


./runInstaller -silent -attachHome -invPtrLoc $location_to_oraInst.loc ORACLE_HOME=Oracle_Home_Location ORACLE_HOME_NAME=Oracle_Home_Name CLUSTER_NODES={}

Do I need to worry about oraInventory during oracle Apps 11i cloning ?

No, Rapid Clone will update both Global & Local Inventory with required information, you don't have to worry about Inventory during Oracle Apps 11i cloning.

How to Move oraInventory from one location to other?

Find the current location of the central inventory (Normally $ORACLE_BASE/oraInventory):

Open the oraInst.loc file in /etc and check the value of inventory_loc

cat /etc/oraInst.loc


Remark: The oraInst.loc file is simply a pointer to the location of the central inventory (oraInventory)

Copy the oraInventory directory to the destination directory

cp -Rp /u01/app/oracle/oraInventory /u02/app/oracle/oraInventory

Edit the oraInst.loc file to point to the new location

vi /etc/oraInst.loc




  1. very helpful document.....thnk u very much.

  2. Here is the type of information I’ve long been in search of. Thanks for writing this information. online billing software

  3. Regards
    Sridevi Koduru (Senior Oracle Apps Trainer
    LinkedIn profile -
    Please Contact for One to One Online Training on Oracle Apps Technical, Financials, SCM, Oracle Manufacturing, OAF, ADF, SQL, PL/SQL, D2K at | +91 - 9581017828.