Steps To Recreate Central Inventory(oraInventory) In Oracle RDBMS Homes.
If some one delete the Central inventory by mistakenly then how to recover ? here are straight forward steps are.
Step 1: Lets find the location of Central/global inventory
[oraeom@oem EOM]$ cat /etc/oraInst.loc
inventory_loc=/u001/app/oraInventory
inst_group=oinstall
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>
[oraeom@oem EOM]$ ls -ld /u001/app/oraInventory
ls: cannot access /u001/app/oraInventory: No such file or directory
Step 2: Execute run Installer command from ORACLE_HOME/oui/bin loctaion
If some one delete the Central inventory by mistakenly then how to recover ? here are straight forward steps are.
Step 1: Lets find the location of Central/global inventory
[oraeom@oem EOM]$ cat /etc/oraInst.loc
inventory_loc=/u001/app/oraInventory
inst_group=oinstall
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>
[oraeom@oem EOM]$ ls -ld /u001/app/oraInventory
ls: cannot access /u001/app/oraInventory: No such file or directory
Step 2: Execute run Installer command from ORACLE_HOME/oui/bin loctaion
syntax :.
/runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Name_Of _Oracle_Home>"
/oracle/EOM/1202/oui/bin/runInstaller -silent -ignoreSysPreReqs -attachHome ORACLE_BASE=/oracle/EOM ORACLE_HOME=/oracle/EOM/1202 ORACLE_HOME_NAME=1202_clone INVENTORY_LOCATION=/oracle/EOM/oraInventory oracle_install_OSDBA=dba oracle_install_OSOPER=dba oracle_install_OSBKP=dba oracle_install_OSDGD=dba oracle_install_OSKMT=dba
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 7970 MB Passed
The inventory pointer is located at /etc/oraInst.loc
Please execute the '/oracle/EOM/oraInventory/orainstRoot.sh' script at the end of the session.
'AttachHome' was successful.
Step 3: Run the oraInstRoot.sh Script as root user.
[root@oem ~]# /oracle/EOM/oraInventory/orainstRoot.sh
Changing permissions of /oracle/EOM/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /oracle/EOM/oraInventory to oinstall.
The execution of the script is complete.
[root@oem ~]#
[root@oem ~]#
[root@oem ~]# /oracle/EOM/oraInventory/orainstRoot.sh
Changing permissions of /oracle/EOM/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /oracle/EOM/oraInventory to oinstall.
The execution of the script is complete.
[root@oem ~]#
Check Here we successfully created the Global/Central OraInventory
[oraeom@oem EOM]$ ls -ld /oracle/EOM/oraInventory
drwxrwx--- 4 oraeom oinstall 4096 May 31 05:44 /oracle/EOM/oraInventory
[oraeom@oem EOM]$ date
Sun May 31 05:47:17 CDT 2020
[oraeom@oem EOM]$
Step 4: Here i have another ORACLE_HOME
So to add this ORACLE_HOME information in the newly Created the OraInventory
Please use this below approach.
[oracle@oem]$ /u001/app/oracle/product/12.2.0/oui/bin/runInstaller -attachHome ORACLE_HOME=/u001/app/oracle/product/12.2.0 ORACLE_HOME_NAME=Orau00112_home
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 7970 MB Passed
The inventory pointer is located at /etc/oraInst.loc
'AttachHome' was successful.
cat /oracle/EOM/oraInventory/ContentsXML/inventory.xml
some snippet from the inventory.xml file.
<HOME_LIST>
<HOME NAME="1202_clone" LOC="/oracle/EOM/1202" TYPE="O" IDX="1"/>
<HOME NAME="Orau00112_home2" LOC="/u001/app/oracle/product/12.2.0" TYPE="O" IDX="2"/>
Some time After Recreate please check
sstereccdp3:orap10 180> ./opatch lsinventory
========================================================
GENERIC OPATCH VERSION - FOR USE IN SAP ENVIRONMENT ONLY
========================================================
Oracle Interim Patch Installer version 11.2.0.3.18
Copyright (c) 2021, Oracle Corporation. All rights reserved.
Oracle Home : /oracle/P10/11204
Central Inventory : /oracle/oraInventory
from : /oracle/P10/11204/oraInst.loc
OPatch version : 11.2.0.3.18 FOR USE IN SAP ENVIRONMENT ONLY
OUI version : 11.2.0.4.0
Log file location : /oracle/P10/11204/cfgtoollogs/opatch/opatch2021-03-08_22-43-11PM_1.log
LsInventorySession failed: OPatch failed to locate Central Inventory.
Possible causes are:
The Central Inventory is corrupted
The oraInst.loc file specified is not valid.
OPatch failed with error code 73
sstereccdp3:orap10 192> cat $ORACLE_HOME/oraInst.loc ===> Please update this file name
inventory_loc=/oracle/oraInventory
inst_group=dba
sstereccdp3:orap10 193> vi $ORACLE_HOME/oraInst.loc
sstereccdp3:orap10 201> cat $ORACLE_HOME/oraInst.loc
inventory_loc=/oracle/P10/oraInventory11204
inst_group=dba
Note: Here Perl clone.pl command will not work to Create Global inventory
lets try practically
/oracle/EOM/1202/clone/bin/clone.pl -invPtrLoc /etc/oraInst.loc ORACLE_BASE=/oracle/EOM ORACLE_HOME_NAME=clone12home ORACLE_HOME=/oracle/EOM/1202 INVENTORY_LOCATION=/oracle/OEM/oraInventory oracle_install_OSDBA=dba oracle_install_OSOPER=dba oracle_install_OSBACKUPDBA=dba oracle_install_OSDGDBA=dba oracle_install_OSKMDBA=dba oracle_install_OSRACDBA=dba oracle.sysman.ccr:PRE_REQUISITE=true
Do You Want To Continue (y/n):y
You do not have sufficient permissions to access the inventory '/oracle/OEM/oraInventory'. Installation cannot continue. It is required that the primary group of the install user is same as the inventory owner group. Make sure that the install user is part of the inventory owner group and restart the installer.
OUI finished with return code -1
lets try practically
/oracle/EOM/1202/clone/bin/clone.pl -invPtrLoc /etc/oraInst.loc ORACLE_BASE=/oracle/EOM ORACLE_HOME_NAME=clone12home ORACLE_HOME=/oracle/EOM/1202 INVENTORY_LOCATION=/oracle/OEM/oraInventory oracle_install_OSDBA=dba oracle_install_OSOPER=dba oracle_install_OSBACKUPDBA=dba oracle_install_OSDGDBA=dba oracle_install_OSKMDBA=dba oracle_install_OSRACDBA=dba oracle.sysman.ccr:PRE_REQUISITE=true
Do You Want To Continue (y/n):y
You do not have sufficient permissions to access the inventory '/oracle/OEM/oraInventory'. Installation cannot continue. It is required that the primary group of the install user is same as the inventory owner group. Make sure that the install user is part of the inventory owner group and restart the installer.
OUI finished with return code -1
I got the error .
so perl clone.pl script will not help this scenario.
Note:-
This command is used to only install the binary silently. so Don't use this command to recreate
the Ora Inventory.
$/oralce/EOM/1202/oui/bin/runInstaller -clone -ignorePreReq -waitForCompletion ORACLE_BASE="/oracle/EOM" ORACLE_HOME="/oracle/EOM/1202" ORACLE_HOME_NAME="1202_clone" INVENTORY_LOCATION="/oracle/EOM/oraInventory" oracle_install_OSDBA="dba" oracle_install_OSOPER="dba" oracle_install_OSBKP="dba" oracle_install_OSDGD="dba" oracle_install_OSKMT="dba" -silent -paramFile "/oracle/EOM/1202/clone/clone_oraparam.ini"