在Oracle中,oraInventory目录的作用是什么?
由于Oracle支持将多个Oracle软件(或者多版本的数据库软件)安装到同一台服务器上,这就需要一个位置统一记录安装的软件信息。中央目录(Central Inventory)实际上就是一台主机上安装的Oracle产品清单。在这个清单里记录了每一个Oracle软件主目录的名称和位置、安装的组件,以及一些其他的信息。OUI在安装产品时会读取中央目录来确认已经安装过的产品信息,确保新安装的产品不会和已存在的产品冲突,而且不会覆盖掉原有的产品。另外,Oracle的集群和数据库软件在进行升级时,OUI也是通过读取中央目录中的信息来确认哪些软件应被安装的。中央目录(Central Inventory)所有的Oracle软件安装都依赖于该目录,所以,要确保该目录已经备份,删除或丢失oraInventory目录的内容,都有可能导致安装或升级报错。另外,Oracle的软件产品通常比较复杂,包含很多组件,所以还需要一个更加细致的清单来记录每一个oracle_home下所安装的产品组件。而本地目录(Local Inventory)就是这样一个清单,它记录了每个产品所安装的组件,以及每个组件上应用过的补丁程序信息。
oraInventory目录的位置是由oraInst.loc文件决定的:
l AIX和Linux平台:/etc/oraInst.loc
l Solaris和HP-UX平台:/var/opt/oracle/OraInst.loc
l Windows平台:HKEY_LOCAL_MACHINE/Software/Oracle/inst.loc
默认情况下它保存在$ORACLE_BASE上一层路径的oraInventory路径下,例如:
[oracle@orcltest ~]$ more etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group= oinstall复制
一旦中央目录文件出现了损坏,请尝试使用以下的两种方式恢复该文件:
方式1:如果其他节点的inventory.xml没有损坏,可以将其复制到本地节点以覆盖原有文件。
方式2:使用$GRID_HOME/oui/bin/runInstaller工具重建inventory.xml文件。例如:
步骤1:添加GI_HOME:
./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/11.2.0/grid" ORACLE_HOME_NAME="OraGI11Home1" CLUSTER_NODES=test1,test2 CRS=true "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=test1复制
步骤2:添加RDBMS_HOME:
./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u02/app/oracle/product/11.2.0/db_1" ORACLE_HOME_NAME="OraDB11Home1" CLUSTER_NODES=test1,test2 CRS=true "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=test1复制
作者就曾遇到过一次与该目录有关的异常:RAC环境中,但是DBCA创建的数据库是单库,最后查到的原因竟然是/u01/app/oraInventory/ContentsXML/inventory.xml文件中缺少了DB的部分。
这里顺便介绍一下Local Inventory的作用。Local Inventory用于保存某一个ORACLE_HOME下所安装的组件清单,它位于$ORACLE_HOME/inventory下。由于Local Inventory针对特定的软件主目录,所以并不存在inventory.xml文件。文件$ORACLE_HOME/inventory/ContentsXML/comps.xml记录了对应主目录下安装的所有组件。通常情况下,由于每一个Oracle产品都包含了很多组件,所以comps.xml文件的结构也很复杂。
& 说明:
有关oraInventory目录的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2121863/
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。