What is oraInventory


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 orainventory 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).
To see where the global inventory is:
Shell_prompt> cat /etc/oraInst.loc
  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.
Location: $ORACLE_HOME/inventory

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?

For a non-RAC setup:

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

-attachHome

[Your current working directory must be the directory where runInstaller file reside to be able to successfully run the example.]

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

$location_to_oraInst.loc == Location along with name for the oraInst.loc file; for example /etc/oraInst.loc

Complete Sample Example:

./runInstaller -silent -attachHome -invPtrLoc /etc/oraInst.loc ORACLE_HOME="/u01/app/oracle/product/11.2.0/" ORACLE_HOME_NAME="OraDb11g" "CLUSTER_NODES={}"

[Note: The command is on single line only.]

More Information at:

Do I need to worry about oraInventory during oracle Apps 11i cloning?
No, Rapid Clone will update both the 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
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall

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
inventory_loc=/u02/app/oracle/oraInventory
inst_group=oinstall

Comments

Back To Top

Popular posts from this blog

error 18 at 0 depth lookup: self signed certificate

How to check fragmentation in MySQL tables

How to Drop or Remove or Decommission a Database in Oracle