How To Create, Update or Rebuild The Central Inventory For Oracle Applications EBS R12
How to create, update or rebuild the Central Inventory for Applications R12
November 2011
This note describes the process of creating, updating or rebuilding the Central Inventory for Oracle E-Business Suite Release 12 version 12.0 or higher. It also provides information about the Oracle Inventories and tools that use it, specific for Oracle Applications.
The most current version of this document is published as My Oracle Support Knowledge Document 742477.1 There is a change log at the end of this document.
This document contains the following sections:
Introduction
Creating or modifying the Central Inventory
How to verify the contents of the Central Inventory
Procedure 1: Adding an Oracle Home using ouicli.pl
Procedure 2: Adding an Oracle Home using the Oracle Universal Installer
Procedure 3: Removing an Oracle Home using the Oracle Universal Installer
How to build a new Central Inventory from scratch
Miscellaneous
References
Attention: This note applies to UNIX, Linux, and Windows platforms. However, you may need to modify some instructions slightly depending on your platform. For example, these notes typically use UNIX/Linux syntax when specifying a directory, so Windows users will need to substitute the appropriate syntax when accessing that directory.
Introduction
Applying patches to an Oracle Home, or performing some other maintenance tasks, is usually performed using the OPatch utility or the Oracle Universal Installer (OUI). These tools require information for each Oracle Home about the installed software, releases, interim patches, etc. This information is stored in the Local Inventory (Oracle Home Inventory) - each Oracle Home holds an inventory directory for this - and in the Central (= Global) Inventory which contains information on the Local ones. Without this information it is not possible to install/remove patches, products, etc.
Attention: The Central Inventory can be rebuilt, but a removed or corrupt Local Inventory might require a re-install, restore or re-clone (if possible).
For more information on Inventory, OUI or OPatch please check the References section.
Oracle E-Business Suite R12 should normally have all Oracle Homes and their respective Local Inventories registered in a Central Inventory.
This as per Note 549389.1: "Oracle Applications Release Notes, Release 12.0.4":
Verify oraInst.loc
On all platforms except Windows, the oraInst.loc file must exist and point to a valid directory. Specifically:
oraInst.loc must be located in /etc (for Linux and IBM AIX) or /var/opt/oracle (for Solaris, HP-UX PA RISC, and HP-UX Itanium)
oraInst.loc must point to a valid central inventory location
the central inventory location must be writable by the owner of the oracle files and the application files
If oraInst.loc does not exist, create it in the proper directory. The contents should look like this:
inventory_loc=/oracle/oraInventory
where:
/oracle/oraInventory points to the directory where the central inventory is to be located and must be writable by the owner of the oracle files and the application files.
On Windows the location of the central inventory is defined in registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\inst_loc
Oracle Applications R12 installs 3 Oracle Home's and one oraInst.loc file per tier pointing to the respective Central Inventory:
Version Purpose Location of oraInst.loc
10.1.2 Developer Tools $INST_TOP/admin (Apps tier)
10.1.3 Web Server
10.2.1 or 11.1.0 or 11.2.0 RDBMS $ORACLE_HOME (DB tier)
Note: It is possible to have one or more Central Inventories. Each Local Inventory must be registered to only one Central Inventory. All Local Inventories belonging to an Applications environment must be attached to the same Central one.
Creating or modifying the Central Inventory
In some cases the Central Inventory might not contain references to all 3 Oracle Home's and their Local Inventories correctly, which can be fixed using one of the two the following procedures. Note that the first procedure also updates the Local Inventory, so is the recommended one when fixing Cloning or Install related issues. The third procedure describes how to remove a Local Inventory from the Central one.
Warning: Before proceeding or performing any other task that modifies the Inventory make sure to have a full backup, or at least of all Oracle Homes and Inventories.
Attention:
If the directory for the Central Inventory does not yet exist create it as described in the Introduction section.
To enable multiple users to write to this directory on UNIX use a command like eg: chmod -R 777 /oracle/oraInventory
Before proceeding first stop all related services. Otherwise the procedure will complete without error, but not register the Oracle Home correctly.
It is possible to manipulate an Oracle Home registration using an OUI with a higher version than that Oracle Home. For example, it is possible to attach an 10.1 Oracle Home Inventory to the Central one using the 10.2 OUI.
How to verify the contents of the Central Inventory
This can be done using the Oracle Universal Installer, by clicking on the 'Installed Products...' button on the main screen. To start the OUI perform the following:
UNIX:
cd /oui/bin
./runInstaller
Windows:
cd \oui\bin
setup.exe -silent
The contents of the Central Inventory can also be checked by viewing file .../oraInventory/ContentsXML
Example:
10.2.0.1.0
2.1.0.6.0
REMOVED="T" means the ORACLE_HOME has been removed.
Do not modify any files for the oraInventory manually.
Procedure 1: Adding an Oracle Home using ouicli.pl
This procedure will make the Oracle Home(s) match its/their current environment and register it/them in the Central Inventory. The ouicli.pl is normally also executed by the Rapid Clone procedure. For more information about Rapid Clone please check Note 406982.1 - "Cloning Oracle Applications Release 12 with Rapid Clone".
As the oracle user, run the environment (UNIX) or the command (Windows) file for the current ORACLE_HOME and run ouicli.pl
UNIX:
.
/.env
cd $ORACLE_HOME/appsutil/clone
./ouicli.pl
Windows:
\.cmd
cd %ORACLE_HOME%\appsutil\clone
ouicli.pl
Note:
Running ouicli.pl can result in error:
"Exception in thread "main" java.lang.NoClassDefFoundError: oracle/apps/ad/clone/util/OracleHomeCloner"
This can be fixed by setting Context variable s_clonestage to
\clone
For example:
E:\oracle\PROD\apps\apps_st\comn\clone
For details on modifying Context variables please check Note 387859.1 - "Using AutoConfig to Manage System Configurations in Oracle E-Business Suite Release 12".
Procedure 2: Adding an Oracle Home using the Oracle Universal Installer
This procedure will only register the Local Inventory for the specified Oracle Home in the Central Inventory.
Attention:
Attaching an Oracle Home is documented for the OUI version 10.2 or higher, but can also work for 10.1.
A standalone copy of OUI 10.2.0.4 and OUI 10.2.0.5 is available for download via patch 6640752 as per Note 557291.1 - How to download OUI 10.2.0.4 and OUI 10.2.0.5
If the oraInst.loc is not in the default location (as in the Introduction section) or not point to the Central Inventory that needs to be updated, the argument "-invPtrLoc" should be used as shown in some of the examples below.
Some sample Oracle Home names are (this naming convention is not mandatory):
PROD_DB__oracle_PROD_db_tech_st_10_2_0
TEST_TOOLS__oracle_TEST_apps_tech_st_10_1_2
DEMO_WEBOH__oracle_test_apps_tech_st_10_1_3
In some cases the runInstaller will error out during pre-requisite checking. If the environment DOES meet the requirements this checking can be disabled using command:
./runInstaller -ignoreSysPrereqs
UNIX:
cd $ORACLE_HOME/oui/bin
./runInstaller -silent -attachHome -invPtrLoc
\
ORACLE_HOME="
" ORACLE_HOME_NAME=""
For example:
./runInstaller -silent -attachHome -invPtrLoc /etc/oraInst.loc \
ORACLE_HOME="/oracle/test/apps/tech_st/10.1.3" ORACLE_HOME_NAME="DEMO_WEBOH__oracle_test_apps_tech_st_10_1_3"
Windows:
cd %ORACLE_HOME%\oui\bin
setup.exe -silent -attachHome ORACLE_HOME="
" \
ORACLE_HOME_NAME="
"
For example:
setup.exe -silent -attachHome ORACLE_HOME="e:\oracle\PROD\apps\tech_st\10.1.2" \
ORACLE_HOME_NAME="PROD_nlicm21_TOOLS"
Procedure 3: Removing an Oracle Home using the Oracle Universal Installer
To detach an Oracle Home from the Central Inventory perform the following actions:
Attention:
This procedure will detach an Oracle Home from the Central Inventory without deleting the Oracle Home or its Local Inventory.
This can only be done using OUI 10.2 or higher, but using this OUI version also for a 10.1 Oracle Home.
A standalone copy of OUI 10.2.0.4 and OUI 10.2.0.5 is available for download via patch 6640752 as per Note 557291.1 - How to download OUI 10.2.0.4 and OUI 10.2.0.5
DO NOT use the argument "-removeHome" (available with the 10.1 OUI), as this will remove the Local Inventory.
UNIX:
cd $ORACLE_HOME/oui/bin
./runInstaller -silent -detachHome ORACLE_HOME="
" ORACLE_HOME_NAME=""
Windows:
cd %ORACLE_HOME%\oui\bin
setup.exe -silent -detachHome ORACLE_HOME="
" ORACLE_HOME_NAME=""
How to build a new Central Inventory from scratch
1. Create a new directory to hold the new Central Inventory, or empty the existing one after backing up its contents, and set its permissions.
Example:
mkdir /oracle/oraInventory
chmod 777 /oracle/oraInventory
2. Verify or modify the oraInst.loc file, for its location see the Introduction, so 'inventory_loc' points to the directory created in step 1.
Example:
inventory_loc=/oracle/oraInventory
3. Perform the Procedure 1: Adding an Oracle Home using ouicli.pl or Procedure 2: Adding an Oracle Home using the Oracle Universal Installer for all Oracle Home's, so for the 10.1.2 Developer Tools Oracle Home, the 10.1.3 Web Server Oracle Home and the 10.2.1/11.1.0/11.2.0 RDBMS Oracle Home.
Example:
.
/ora/10.1.2/.env
cd $ORACLE_HOME/appsutil/clone
./ouicli.pl
.
/ora/10.1.3/.env
cd $ORACLE_HOME/appsutil/clone
./ouicli.pl
.
/.env
cd $ORACLE_HOME/appsutil/clone
./ouicli.pl
4. Verify the oraInventory using the procedure of section How to verify the contents of the Central Inventory
Miscellaneous
If OPatch or the Oracle Universal Installer cannot identify the Central Inventory though the oraInst.loc in the default location, the following argument can be used:
-invPtrLoc
For example with OPatch:
opatch apply -invPtrLoc /oracle/test/apps/tech_st/10.1.2/oraInst.loc
For example with the OUI:
runInstaller -invPtrLoc /oracle/test/apps/tech_st/10.1.2/oraInst.loc
References
Note 549389.1 - Oracle Applications Release Notes, Release 12.0.4
Note 564192.1 - "FAQs on Central Inventory and Oracle Home Inventory (Local Inventory) in Oracle RDBMS"
Note 458893.1 - "Oracle Universal Installer (OUI) FAQ"
Note 557291.1 - How to download OUI 10.2.0.4 and OUI 10.2.0.5
Note 334108.1 - "OPatch version 10.2 - FAQ"
Note 453495.1 - "FAQs on OPatch Version : 11.1"
Note 242993.1 - "OPATCH FAQ"
Note 387859.1 - "Using AutoConfig to Manage System Configurations in Oracle E-Business Suite Release 12"
Note 406982.1 - "Cloning Oracle Applications Release 12 with Rapid Clone"