Monday 15 September 2014

How to recreate oraInventory (Central Inventory) in RDBMS Homes if the central inventory is corrupted or lost?


SOLUTION
STEP 1: 
Locating the central inventory 
  •  The location of the central inventory can be found from the central inventory pointer.

    Windows
  • By default the location of the Central inventory will be in "C:\Program Files\Oracle\Inventory"
  • The location of the central inventory can be found from the central inventory pointer which can be found from the key "inst_loc".
  • The key can be found by:
       1. Go to "Run" window (Press Windows Key + r)
       2. Type "regedit" and enter
       3. Expand HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE
       4. Find the value of the key "inst_loc"

    Note : The following command will also show the inventory pointer in Windows XP,2003 and Vista 
C:\>reg query HKLM\SOFTWARE\ORACLE /v inst_loc

Unix/Linux
  • The location of the central inventory can be found from the central inventory pointer can be found from the file /etc/oraInst.loc (AIX and Linux) or /var/opt/oracle/oraInst.loc (Platform specific)
  • If an oraInst.loc file does not exist, then create one as below with the following entries:

    inventory_loc=<location_for_oraInventory>
    inst_group=<name_of_group_for_installtion> 
Example:
inventory_loc=/u01/oracle/oraInventory
inst_group=oinstall

Note: Make sure that the Oracle Owner has proper permissions (755) on the location specified for the oraInventory.

STEP 2: 
Remove the Central inventory (if it exists)
Use the following command to rename the oraInventory (Unix/Linux)
% mv oraInventory oraInventory_orig

Use the Windows Explorer or the "move" command to rename the Inventory (Windows) located under c:\Program Files\oracle (default location)

STEP 3:
Change the directory to the oui location.
Use the following command to change the directory to the oui location.
(Unix/Linux): % cd $ORACLE_HOME/oui/bin

(Windows): > cd %ORACLE_HOME%\oui\bin

STEP 4:
Attaching the Home for Oracle Database 10.2.0.1 and above.
Execute runInstaller with -attachHome option for Oracle Home.
% ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Name_Of _Oracle_Home>"

> setup.exe -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Name_Of _Oracle_Home>"

For Example:
ORACLE_HOME=/u01/app/oracle/product/10.2.0.3
ORACLE_HOME_NAME=OraDb10g_home1
% ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/10.2.0.3" ORACLE_HOME_NAME="OraDb10g_home1"

If you have more than one oracle home you have to repeat STEP 4 for all remaining Oracle Homes making sure to provide unique ORACLE_HOME_NAME's for each ORACLE_HOME.

Note:
Recreation of Central Inventory in RDBMS Homes is only supported from 10.2.0.1.0 and later.
No downtime is required for recreating the global inventory (oraInventory)
Log files for this operation can be found at the following location :
- Unix platforms : oraInventory/logs   (full path of oraInventory is given in used oraInst.loc)
- Windows platforms :  c:\program files\oracle\inventory\logs

At this location you will see these two files (.out is useless anyway) :
AttachHome<YYYY-MM-DD_<time>>.log
oraInstall<YYYY-MM-DD_<time>>.err

From 10gr2 these files are also found in <ORACLE_HOME>/cfgtoollogs/oui 


0 comments:

Post a Comment

Total Pageviews