Oracle中Inventory目录作用以及如何重建此目录
Oracle中Inventory目录作用以及如何重建此目录
oraInventory存放的是Oracle软件安装的目录信息,Oralce的安装升级都需要用到这个目录,来看看Oracle文档中对这个目录的一点说明:
All Oracle software installations rely on this directory. Ensure that you back it up regularly. Do not delete this directory unless you have completely removed all Oracle software from the system. oraInventory目录的位置是由oraInst.loc文件决定的: /etc/oraInst.loc (AIX and Linux Platform) /var/opt/oracle/OraInst.loc (Solaris and HP-UX platform) $cat /etc/oraInst.loc inventory_loc=/app/oracle/oraInventory inst_group=dba 删除或丢失oraInventory目录的内容,都有可能导致升级报错,例如在运行opatch时就有可能遇到以下报错: 10G中: $opatch lsinventory Invoking OPatch 10.2.0.4.3 OPatch failed to locate Central Inventory. Possible causes are: The Central Inventory is corrupted The oraInst.loc file specified is not valid. 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 $opatch lsinventory Invoking OPatch 10.2.0.4.3 List of Homes on this system: Inventory load failed... OPatch cannot load inventory for the given Oracle Home. Possible causes are: Oracle Home dir. path does not exist in Central Inventory Oracle Home is a symbolic link Oracle Home inventory is corrupted LsInventorySession failed: OracleHomeInventory gets null oracleHomeInfo OPatch failed with error code 73 9I中报错: OPATCH_JAVA_ERROR : An exception of type "OPatchException" has occurred: OPatch Exception: Can not lock OUI inventory (READ/WRITE Level) An exception occurs The inventory pointed at location /app/oraInventory is not valid There is no Interim Patch Can not get a list of inventory on this home. LsInventory: OPatch Exception while accessing O2O OPATCH_JAVA_ERROR : An exception of type "OPatchException" has occurred: OPatch Exception: OUI found no such ORACLE_HOME set in the environment Can not get details for given Oracle Home An exception occurs null There is no Interim Patch Can not get a list of inventory on this home. ERROR: OPatch failed because of Inventory problem. 在10G中可以运行以下命令进行oraInventory目录重建: $cd $ORACLE_HOME/oui/bin $./runInstaller -silent -attachHome \ > ORACLE_HOME=$ORACLE_HOME \ > ORACLE_HOME_NAME="ORACLE_HOME" Starting Oracle Universal Installer... No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed. The inventory pointer is located at /etc/oraInst.loc The inventory is located at /app/oracle/oraInventory 'AttachHome' was successful. js_znjh_1./app/oracle/product/10.2.0/db_1/oui/bin$ 10.2.0.2以上的版本,还可以直接运行attachHome.sh脚本: $cd $ORACLE_HOME/oui/bin $./attachHome.sh Starting Oracle Universal Installer... No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed. The inventory pointer is located at /etc/oraInst.loc The inventory is located at /app/oracle/oraInventory 'AttachHome' was successful.