Deleted the OraInventory? Not all is lost

The OraInventory or Central Inventory contains the information related to all Oracle products installed on a server. Its presence is not required for the operation of the software, but it is required when we want to update it, for example, to apply the patch that will solve that bug we have found.

If the OraInventory no longer exists or is corrupted, then we are in trouble, so it is good practice to back it up every time we install or upgrade Oracle software. But what if we never did it? If you are using 10g or higher, the solution couldn’t be simpler.

First, let’s look at the initial situation. Oracle Universal Installer shows us that the OraInventory is empty.

Given that Oracle EE, Oracle SE and the Grid Control Agent were installed on this server, the procedure to follow to recreate the Central Inventory, registering the software already installed on it, is as follows:

1. We go to the home directory of Oracle Universal Installer

[oracle@caliope ~]$ cd $ORACLE_HOME/oui/bin
[oracle@caliope bin]$

2. We will register our first product, Oracle EE.

[oracle@caliope bin]$ ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1" ORACLE_HOME_NAME="DB10g_EE"
Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.

>>> Ignoring required pre-requisite failures. Continuing...

The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oracle/oraInventory
'AttachHome' was successful.
[oracle@caliope bin]$

3. Now we register the second product, Oracle SE.

[oracle@caliope bin]$ ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_2" ORACLE_HOME_NAME="DB10g_SE"
Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.

>>> Ignoring required pre-requisite failures. Continuing...

The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oracle/oraInventory
'AttachHome' was successful.
[oracle@caliope bin]$

4. Finally, we register the Grid Control Agent.

[oracle@caliope bin]$ ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/agent10g" ORACLE_HOME_NAME="Agent10g"
Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.

>>> Ignoring required pre-requisite failures. Continuing...

The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oracle/oraInventory
'AttachHome' was successful.
[oracle@caliope bin]$

The process is complete, now OUI shows us the recreated OraInventory.

Note that this does not work for versions before 10g, so if you have an older version in use, what are you waiting for to get a backup?

If you want to learn more about the Inventory, I recommend the notes: 564192.1 FAQs on Central Inventory and Oracle Home Inventory (Local Inventory) in Oracle RDBMS, and 556834.1 Steps To Recreate Central Inventory (oraInventory) In RDBMS Homes. Good luck with the reading!

Did you find this article interesting, did you have any doubts, do you want to suggest a topic to cover, leave me your comments or contact me me right now!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Posts

Out of place patching Oracle RAC
Learn how to patch Oracle RAC database in out-of-place mode and use Gold Image for maximum simplicity and minimum effort.
Hide column contents
Learn how to implement the masking of column contents dynamically and without having to modify your applications.
Register ACFS file system fails
Learn how to register an ACFS filesystem after migrating the Disk Group containing it to a new Oracle Cluster.

Need Help?

Fill in these details and I will be in touch as soon as possible.