oraInventory:
The inventory is a very important part of the Oracle Universal Installer.
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 inventories,
One is Local Inventory (also called as Oracle Home Inventory) and other is Global Inventory (also called as Central Inventory).
1.Local Inventory:
There is one Local inventory per ORACLE_HOME.
Inventory inside each Oracle Home is called as local Inventory or oracle_home Inventory. This Inventory holds information to that oracle_home only.
(Local inventory is located in the Oracle Home, It contains the information relevant to its particular home. )
SOLUTION
The only solution for local inventory corruption is to re-install the software.
2.Global Inventory
The central inventory directory outside the ORACLE_HOME (Global Inventory)
This inventory stores information about.
All the Oracle software products installed on all ORACLE_HOMES on a machine,These products can be various oracle components like database, oracle application server, collaboration suite, soa suite, forms & reports or discoverer server.
Other non-oracle products such as Java Runtime env's (JRE)
This global Inventory location will be determined by file oraInst.loc in /etc/oraInst.loc (on Linux) or /var/opt/oracle/oraInst.loc (solaris).
If you want to see list of oracle products on machine check for file inventory.xml under ContentsXML.
Yes, we can have multiple Global Inventory on a machine but if your upgrading or applying patch then change Inventory Pointer oraInst.loc to respective location.
What to do if my Global Inventory is corrupted ?
We can recreate global Inventory on machine using Universal Installer and attach already Installed oracle home by option
cd $ORACLE_HOME/oui/bin
./runInstaller -silent -attachHome -invPtrLoc ./oraInst.loc ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"
Where
ORACLE_HOME= /opt/oracle/tech/db/D400T/102
ORACLE_HOME_NAME provide any name
[oracle@host bin]$ ./runInstaller -silent -attachHome -invPtrLoc /opt/oracle/tech/db/TEST/102/oraInst.loc ORACLE_HOME="/opt/oracle/tech/db/TEST/102" ORACLE_HOME_NAME="ora10204"
./runInstaller -silent -attachHome -invPtrLoc /opt/oracle/tech/db/TEST/102/oraInst.loc ORACLE_HOME="/opt/oracle/tech/db/D400T/102" ORACLE_HOME_NAME="ora10204"
cd $ORACLE_HOME/oui/bin
% ./attachHome.sh
====
cd $ORACLE_HOME/oui/bin/
./runInstaller -silent -detachHome -local -noClusterEnabled -invPtrLoc $ORACLE_HOME/oraInst.loc -ignorePreReq ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=TEST_HOME
The inventory is a very important part of the Oracle Universal Installer.
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 inventories,
One is Local Inventory (also called as Oracle Home Inventory) and other is Global Inventory (also called as Central Inventory).
1.Local Inventory:
There is one Local inventory per ORACLE_HOME.
Inventory inside each Oracle Home is called as local Inventory or oracle_home Inventory. This Inventory holds information to that oracle_home only.
(Local inventory is located in the Oracle Home, It contains the information relevant to its particular home. )
SOLUTION
The only solution for local inventory corruption is to re-install the software.
2.Global Inventory
The central inventory directory outside the ORACLE_HOME (Global Inventory)
This inventory stores information about.
All the Oracle software products installed on all ORACLE_HOMES on a machine,These products can be various oracle components like database, oracle application server, collaboration suite, soa suite, forms & reports or discoverer server.
Other non-oracle products such as Java Runtime env's (JRE)
This global Inventory location will be determined by file oraInst.loc in /etc/oraInst.loc (on Linux) or /var/opt/oracle/oraInst.loc (solaris).
If you want to see list of oracle products on machine check for file inventory.xml under ContentsXML.
Yes, we can have multiple Global Inventory on a machine but if your upgrading or applying patch then change Inventory Pointer oraInst.loc to respective location.
What to do if my Global Inventory is corrupted ?
We can recreate global Inventory on machine using Universal Installer and attach already Installed oracle home by option
cd $ORACLE_HOME/oui/bin
./runInstaller -silent -attachHome -invPtrLoc ./oraInst.loc ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Oracle_Home_Name>"
Where
ORACLE_HOME= /opt/oracle/tech/db/D400T/102
ORACLE_HOME_NAME provide any name
[oracle@host bin]$ ./runInstaller -silent -attachHome -invPtrLoc /opt/oracle/tech/db/TEST/102/oraInst.loc ORACLE_HOME="/opt/oracle/tech/db/TEST/102" ORACLE_HOME_NAME="ora10204"
./runInstaller -silent -attachHome -invPtrLoc /opt/oracle/tech/db/TEST/102/oraInst.loc ORACLE_HOME="/opt/oracle/tech/db/D400T/102" ORACLE_HOME_NAME="ora10204"
cd $ORACLE_HOME/oui/bin
% ./attachHome.sh
====
cd $ORACLE_HOME/oui/bin/
./runInstaller -silent -detachHome -local -noClusterEnabled -invPtrLoc $ORACLE_HOME/oraInst.loc -ignorePreReq ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=TEST_HOME
===
cd $ORACLE_HOME/clone/bin
perl clone.pl ORACLE_HOME=/oracle/product/11.2.0.3/TEST ORACLE_HOME_NAME=TEST_HOME ORACLE_BASE=/oracle/admin/TEST '-O"LOCAL_NODES=host-pdv-vm-251"' '-O"CLUSTER_NODES={host-pdv-vm-251}"'
No comments:
Post a Comment