All about R12 Oracle Home Inventories

The inventories are used by the Oracle Universal Installer (ORACLE_HOME)/oui (by reference, rapidwiz installers, too) and opatch utilities.
If they are not correct for the host you are working on, the utilities may abort with all sorts of errors.
The Oracle Universal Installer can also be used to re-create the inventory, or attach a pre-existing Oracle Home.
Formatted in XML syntax, all tags either end on a single line, or have a beginning and end tag associated with each entry.
Learning the actual structure of the file can be useful when dealing with non-Production environments when you’re upgrading and downgrading components, and need to roll-back certain changes, or are experimenting with modifying the filesystem layout. This way, if the inventory has minor errors (such as when the IDX numbers get out-of-sequence due to removed components, or you have to roll-back an OEM Agent upgrade to a plugin), you will have an idea where to correct the file to make your OUI happy again.

Useful references:
Master Note For Cloning Oracle Database Server ORACLE_HOME’s Using the Oracle Universal Installer (OUI) (Doc ID 1154613.1) https://support.oracle.com/epmos/faces/DocContentDisplay?id=1154613.1
How to Create a Clean oraInventory in Release 12 using the ouicli.pl utility (Doc ID 834894.1) – https://support.oracle.com/epmos/faces/DocContentDisplay?id=834894.1R12.0 / R12.1 : How To Create, Update or Rebuild The Central Inventory For Oracle Applications E-Business Suite ? (Doc ID 742477.1) https://support.oracle.com/epmos/faces/DocContentDisplay?id=742477.1

All () references refer to your unique environment’s actual physical filesystem locations – e.g. (ORACLE_BASE) might be /u01/app/oracle on your host.

## Master location files indicating which inventory is being used (can be manually modified to re-point to older legacy homes that are not multi-home aware)

## an 11g and older Middle-tier home locator
$> cat /etc/oraInst.loc
#Oracle Installer Location File Location
#Wed Dec 01 07:15:54 EST 2010
inst_group=oinstall
inventory_loc=(INST_TOP)/admin/oraInventory

## an 11g and older Database-tier home locator
$> cat /etc/oraInst.loc
inventory_loc=(DB_ORACLE_HOME)admin/oui/(ENV_ID)/oraInventory

## a 12c home locator – will be maintained in-parallel with the 11i version for now – multiple entries delimited by colons
$> cat /etc/oragchomelist

(ORACLE_BASE)/core/12.1.0.4.0:(ORACLE_BASE)/agent_inst

## A main R12 Middle-tier inventory, with a 12.1.0.4.0 OEM Agent
## located in (inventory_loc)/ContentsXML/inventory.xml
#Notes:
# REMOVED=”T” – means ignore this during reading of the inventory
# IDX=(n)     – a unique number assigned (preferably sequentially, but not required to be in numerical sequence in the file)
# HOME NAME=  – a unique name (without spaces or special characters) – there are specific naming formats are required by RapidClone for R12 components and should not be changed, the non-R12 labels are less strict.
# Note that the 12c entries begin to include version information for each individual sub-component (REF_HOME_LOC)

$> cat inventory.xml
<?xml version=”1.0″ standalone=”yes” ?>
<!– Copyright (c) 1999, 2013, Oracle and/or its affiliates.
All rights reserved. –>
<!– Do not modify the contents of this file by hand. –>
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.1.0.12.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME=”OracleHome3″ LOC=”(ORACLE_BASE)/tech_st/10.1.2″ TYPE=”O” IDX=”4″/>
<HOME NAME=”OracleHome1″ LOC=”(INST_TOP)/ora/10.1.3″ TYPE=”O” IDX=”1″/>
<HOME NAME=”OracleHome2″ LOC=”(ORACLE_BASE)/tech_st/10.1.3″ TYPE=”O” IDX=”2″/>
<HOME NAME=”OH742297619″ LOC=”(ORACLE_BASE)/Middleware/oracle_common” TYPE=”O” IDX=”12″>
<REFHOMELIST>
<REFHOME LOC=”(ORACLE_BASE)/Middleware/as_1″/>
</REFHOMELIST>
</HOME>
<HOME NAME=”OH1912350525″ LOC=”(ORACLE_BASE)/Middleware/as_1″ TYPE=”O” IDX=”13″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/Middleware/oracle_common”/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”agent12c2″ LOC=”(ORACLE_BASE)/core/12.1.0.4.0″ TYPE=”O” IDX=”14″>
<REFHOMELIST>
<REFHOME LOC=”(ORACLE_BASE)/sbin”/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.outl.discovery.plugin_12.1.0.2.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.oet.discovery.plugin_12.1.0.3.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.xa.discovery.plugin_12.1.0.6.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emfa.discovery.plugin_12.1.0.6.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.discovery.plugin_12.1.0.4.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emas.discovery.plugin_12.1.0.6.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emas.agent.plugin_12.1.0.6.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.agent.plugin_12.1.0.4.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.discovery.plugin_12.1.0.7.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.agent.plugin_12.1.0.7.0″/>
</REFHOMELIST>
</HOME>
<HOME NAME=”sbin12c2″ LOC=”(ORACLE_BASE)/sbin” TYPE=”O” IDX=”2″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome4″ LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.outl.discovery.plugin_12.1.0.2.0″ TYPE=”O” IDX=”7″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome1″ LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.oet.discovery.plugin_12.1.0.3.0″ TYPE=”O” IDX=”3″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome2″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.xa.discovery.plugin_12.1.0.6.0″ TYPE=”O” IDX=”4″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome3″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emfa.discovery.plugin_12.1.0.6.0″ TYPE=”O” IDX=”5″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome5″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.discovery.plugin_12.1.0.4.0″ TYPE=”O” IDX=”9″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome6″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emas.discovery.plugin_12.1.0.6.0″ TYPE=”O” IDX=”8″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome11″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emas.agent.plugin_12.1.0.6.0″ TYPE=”O” IDX=”18″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome12″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.agent.plugin_12.1.0.4.0″ TYPE=”O” IDX=”19″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome7″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.discovery.plugin_12.1.0.7.0″ TYPE=”O” IDX=”15″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome8″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.agent.plugin_12.1.0.7.0″ TYPE=”O” IDX=”10″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome4″ LOC=”(ORACLE_BASE)/plugins/oracle.apps.ebs.discovery.plugin_12.1.0.1.0″ TYPE=”O” IDX=”6″ REMOVED=”T”/>
<HOME NAME=”agent12c1″ LOC=”(ORACLE_BASE)/core/12.1.0.3.0″ TYPE=”O” IDX=”1″ REMOVED=”T”/>
<HOME NAME=”OraHome6″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.agent.plugin_12.1.0.3.0″ TYPE=”O” IDX=”11″ REMOVED=”T”/>
<HOME NAME=”OraHome9″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.discovery.plugin_12.1.0.6.0″ TYPE=”O” IDX=”16″ REMOVED=”T”/>
<HOME NAME=”OraHome10″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.agent.plugin_12.1.0.6.0″ TYPE=”O” IDX=”17″ REMOVED=”T”/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>

## The main Database-Tier inventory for an 11g R12 database host, with a 12.1.0.4.0 OEM Agent
## located in (inventory_loc)/ContentsXML/inventory.xml

$> cat inventory.xml
<?xml version=”1.0″ standalone=”yes” ?>
<!– Copyright (c) 1999, 2013, Oracle and/or its affiliates.
All rights reserved. –>
<!– Do not modify the contents of this file by hand. –>
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.1.0.12.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME=”(ORACLE_SID)_DB__(ORACLE_SID_LOWERCASE)_db_tech_st_11_2_0″ LOC=”(ORACLE_HOME)” TYPE=”O” IDX=”1″/>
<HOME NAME=”agent12c1″ LOC=”(ORACLE_BASE)/core/12.1.0.4.0″ TYPE=”O” IDX=”2″>
<REFHOMELIST>
<REFHOME LOC=”(ORACLE_BASE)/sbin”/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.xa.discovery.plugin_12.1.0.6.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emfa.discovery.plugin_12.1.0.6.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.apps.ebs.discovery.plugin_12.1.0.4.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.outl.discovery.plugin_12.1.0.2.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.discovery.plugin_12.1.0.7.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.oet.discovery.plugin_12.1.0.3.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emas.discovery.plugin_12.1.0.6.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.discovery.plugin_12.1.0.4.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.agent.plugin_12.1.0.4.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.agent.plugin_12.1.0.7.0″/>
<REFHOME LOC=”(ORACLE_BASE)/plugins/oracle.apps.ebs.agent.plugin_12.1.0.4.0″/>
</REFHOMELIST>
</HOME>
<HOME NAME=”sbin12c1″ LOC=”(ORACLE_BASE)/sbin” TYPE=”O” IDX=”3″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome1″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.xa.discovery.plugin_12.1.0.6.0″ TYPE=”O” IDX=”4″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome2″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emfa.discovery.plugin_12.1.0.6.0″ TYPE=”O” IDX=”5″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome3″ LOC=”(ORACLE_BASE)/plugins/oracle.apps.ebs.discovery.plugin_12.1.0.4.0″ TYPE=”O” IDX=”6″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome4″ LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.outl.discovery.plugin_12.1.0.2.0″ TYPE=”O” IDX=”7″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome6″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.discovery.plugin_12.1.0.7.0″ TYPE=”O” IDX=”13″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome7″ LOC=”(ORACLE_BASE)/plugins/oracle.tugbu.oet.discovery.plugin_12.1.0.3.0″ TYPE=”O” IDX=”9″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome8″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.emas.discovery.plugin_12.1.0.6.0″ TYPE=”O” IDX=”10″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome9″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.discovery.plugin_12.1.0.4.0″ TYPE=”O” IDX=”11″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome10″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.oh.agent.plugin_12.1.0.4.0″ TYPE=”O” IDX=”12″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome11″ LOC=”(ORACLE_BASE)/plugins/oracle.sysman.db.agent.plugin_12.1.0.7.0″ TYPE=”O” IDX=”14″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OraHome5″ LOC=”(ORACLE_BASE)/plugins/oracle.apps.ebs.agent.plugin_12.1.0.4.0″ TYPE=”O” IDX=”8″>
<DEPHOMELIST>
<DEPHOME LOC=”(ORACLE_BASE)/core/12.1.0.4.0″/>
</DEPHOMELIST>
</HOME>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s