oraInventory in Oracle

You all might be familiar with oraInventory & its importance so lets take a look at few common things about it like binary/xml inventory, What to do if Inventory is corrupted , What is global / Local Inventory and where to find documentation related to oraInventory .

What is oraInventory ?
oraInventory is repository (directory) which store/records oracle software products & their oracle_homes location on a machine. This Inventory now a days in XML format and called as XML Inventory where as in past it used to be in binary format & called as binary Inventory.
There are basically two kind of Inventory Global Inventory (also called as Central Inventory) and Local Inventory also called as Oracle Home Inventory.

Global Inventory ?
Global Inventory holds information about Oracle Products on a Machine. These products can be various oracle components like database, oracle application server, collaboration suite, soa suite, forms & reports or discoverer server . This global Inventory location will be determined by file oraInst.loc in /etc (on Linux) or /var/opt/oracle (solaris). If you want to see list of oracle products on machine check for file inventory.xml under ContentsXML in oraInventory Please note if you have multiple global Inventory on machine check all oraInventory directories)

You will see entry like
HOME NAME=”ORA10g_HOME” LOC=”/u01/oracle/10.2.0/db” TYPE=”O” IDX=”1″/

Local Inventory
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 Inventory on a machine ?
Quite common questions is that 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 ?
No need to worry 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

./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.

About the Author Atul Kumar

Oracle ACE, Author, Speaker and Founder of K21 Technologies & K21 Academy : Specialising in Design, Implement, and Trainings.

follow me on:

Leave a Comment:

19 comments
Anonymous says December 17, 2006

thanks for the supprt Mr.ATUL can u give some information abt configuring standby database in the coming posts

cheers
chandoo

Reply
Anonymous says December 19, 2006

Good Post,Simple and clear-cut explanation about oraInventory.

Sam
http://appsdbablog.com

Reply
Atul Kumar says December 19, 2006

Thanks Sam,
I often read your blog , they are quite interesting. Good to hear from you .

Atul

Reply
aryan says December 27, 2006

Hi Atul

We are trying to attach a home to orainventory which was created jus by copying an oracle home. Can u plz help me with this….
Rupa.

Reply
Atul Kumar says December 28, 2006

Rupa,
Could you try ./runInsaller with option mentioned in pos & let me know if you face any issues .

Atul

Reply
Anonymous says February 19, 2007

Atul,

I was trying to use runInstaller (10.2 version as 9i doesn’t have attachHome ability) to attach a 9.2.0.8 home on Solaris.

The session failed with the following:

Starting Oracle Universal Installer…

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
The inventory pointer is located at /var/opt/oracle/oraInst.loc
The inventory is located at /opt/oracle/oraInventory
‘AttachHome’ failed.

Wonder if you had such experience, i.e. attach 9208 home via 10.2.0.3 runInstaller?

Thanks.

Reply
Atul Kumar says February 19, 2007

Hi Anonymous for any issues you can raise them at forum http://teachMeOracle.com/forum

Atul

Reply
Ravi Prakash says May 22, 2008

Nice to know more about Oracle Inventory, i faced few Inventory corruption issues, when installing OPATCH on a Multiple Oracle Database Version’s, its a test server with Oracle 8i(8.1.7),9i Home and as well Oracle 10g as well…

$opatch lsinventory
Invoking OPatch 10.2.0.3.0

Oracle interim Patch Installer version 10.2.0.3.0
Copyright (c) 2005, Oracle Corporation. All rights reserved..

Oracle Home : /u001/app/oracle/product/10.203
Central Inventory : /u001/app/oracle/product/10./oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 10.2.0.3.0
OUI version : 10.2.0.3.0
OUI location : /u001/app/oracle/product/10.203/oui
Log file location : /u001/app/oracle/product/10.203/cfgtoollogs/opatch/o patch2008-05-14_18-16-56PM.log

List of Homes on this system:

Home name= ******, Location= “/u001/app/oracle/product/10.DSPWEB”
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::load() gets null oracleHomeInfo

OPatch failed with error code 73

…With Oracle Support could able to resolve this.
Thanks
Ravi

Reply
rajesh says September 10, 2008

hi atul,
plz give me answers for these questions :

I am applying OPatch I don’t have oraInventory ?can I apply?
How many concurrent mangers can be used ?waht is the limit?
suppose my concurrent manager status is showing Inactive ?what is the reason?
If a patch is failed in the middle of the patch?I don’t want to apply the patch continue?
what is transaction manager and product manager?what is the significance?
My cloning is successfully completed but my appslistener is not getting up?what is the problem?
hw frequently u do preform patching?
how frequently u perform cloning?
how much time it will take to complete cloning?
what is the purpose of the appsutil folder in ORACLE_HOME?
After cloning my oraInventory got corrupted ?can I apply my Opatch?
wht command is used to kill the process which is using largest memory?
I am applying patch can I open another session and run adadmin
I am not able to start concurrent manager?what is the probelm?
after registering the top in custom directory?u will run autoconfig r not?

thank you

Reply
» Oracle Apps R12 (12.1.1) Installation Issue - RW-50004 , RW-50010 Online Apps DBA: One Stop Shop for Apps DBA’s says May 21, 2009

[…] Installation including registration of DB ORACLE_HOME in inventory. To know more about inventory click here Step 2 – 20-40% – Oracle Database creation including copy of data files from staging area to data […]

Reply
» oraInventory Location & oraInst.loc on Windows , Linux , Unix Online Apps DBA: One Stop Shop for Apps DBA’s says October 8, 2009

[…] installation issues are logged under oraInventory/logs/[filename].log (for more on oraInventory click here ) but how to identify oraInventory location on system […]

Reply
» How to install Bundle Patch (BP) on OAM 11.1.1.3 - BP02 (10368022) OAM 11.1.1.3.2 Online Apps DBA: One Stop Shop for Apps DBA’s says May 11, 2011

[…] 6. If you are not familiar with oraInventory then learn more about oraInventory here […]

Reply
vinodkumar says November 16, 2011

Hi Sir & Madam,
iam very thankful for u dat,
iam getting good information about my subject..
if any doubts will arise, i will send the comment..

Reply
venu says October 8, 2015

bash-4.2$ opatch lsinventory
Invoking OPatch 10.2.0.4.3

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

Oracle Home : /u01/app/oracle/product/11.2.0.4/db_1
Central Inventory : /u01/app/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.4.3
OUI version : 11.2.0.4.0
OUI location : /u01/app/oracle/product/11.2.0.4/db_1/oui
Log file location : /u01/app/oracle/product/11.2.0.4/db_1/cfgtoollogs/opatch/opatch2015-10-08_22-39-33PM.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
bash-4.2$ opatch version
Invoking OPatch 10.2.0.4.3

OPatch Version: 10.2.0.4.3

OPatch succeeded.
bash-4.2$ pwd
/u01/app/oracle/product/11.2.0.4/db_1/oui/bin
bash-4.2$
bash-4.2$ ./runInstaller -silent -attachHome -invPtrLoc ./oraInst.loc
Starting Oracle Universal Installer…

Checking swap space: must be greater than 500 MB. Actual 28672 MB Passed
The operation failed as it was called without path of the Oracle Home being attached.
bash-4.2$

Reply
    Atul Kumar says October 9, 2015

    @ Venu,

    In command ./runInstaller -silent -attachHome -invPtrLoc ./oraInst.loc where is path of ORACLE_HOME that you would like to attach . Check syntax of runInstaller by running with option -help

    Reply
venu says October 8, 2015

please help me.immediately.Production issue.

Reply
OHS Installation failed with error OUI-10136 Oracle Home Already Exists - Oracle : Design, Implement & Maintain Oracle : Design, Implement & Maintain: Oracle Implementation & Training Experts says October 8, 2015

[…] earlier but installation files were later removed. Old installation location was still present in  oraInventory which was creating this issue while installing OHS again under same […]

Reply
Musa Ali says August 12, 2016

Hi
I am using R12.2.4 and on Test instance i have 2 logical SERVER /opt/oracle/TEST03 and /opt/oracle/TEST04. For cloning after extract back place the PROD directory on /opt/oracle/PROD and rename as TEST03 and TEST04.

Now On PROD my global Inventory is set as /etc/oraInst.loc
inventory_loc=/opt/oracle/oraInventory

So for cloning on TEST Server what global Inventory i will set and what local inventory i will set? Please guide me.

Thanks!

Reply
Add Your Reply

Not found