+++++++++++++++++++++++++++++++
oraInventory 目录在oracle安装中的作用
在使用安装oracle软件或者使用dbca创建数据库时,所有的日志都会放在oraInventory这个目录下。
默认情况下该目录会在$ORACLE_BASE/oraInventory,但是我们也可以通过更改/etc/oraInst.loc文件来指定具体的路径:
假设想修改该目录的路径可以修改oraInst.loc 文件
在linux下:
该文件路径为/etc/oraInst.loc
在hpunix下:
该文件路径为 /var/opt/oracle/oraInst.loc
误删之后的重建:
在10G中可以运行以下命令进行oraInventory目录重建:
$cd $ORACLE_HOME/oui/bin
$./runInstaller -silent -attachHome \
> ORACLE_HOME=$ORACLE_HOME \
> ORACLE_HOME_NAME="ORACLE_HOME"
10.2.0.2以上的版本,还可以直接运行attachHome.sh脚本:
$cd $ORACLE_HOME/oui/bin
$./attachHome.sh
--更新inventory(有时候找不到节点信息):
su - grid
cd $ORACLE_HOME/oui/bin
./runInstaller -silent -ignoreSysPrereqs -updateNodeList ORACLE_HOME=$ORACLE_HOME LOCAL_NODE="myrac1" CLUSTER_NODES="{myrac1,myrac2}" CRS=true
+++++++++++++++++++++++++++++++++++++++++++
由于Oracle支持将多个Oracle 软件(或者多版本的数据库软件)安装到同一台服务器上,这就需要一个位置统一记录安装的软件信息。
中央目录(Central Inventory) 实际上就是一台主机上安装的Oracle 产品清单。在这个清单里记录了每一个Oracle软件主目录的名称和位置、安装的组件,以及一些其他的信息。
OUI在安装产品时会读取中央目录来确认已经安装过的产品信息,确保新安装的产品不会和已存在的产品冲突,而且不会覆盖掉原有的产品。另外,Oracle的集群和数据库软件在进行升级时,OUI也是通过读取中央目录中的信息来确认哪些软件应被安装的。
对于10gR2和l l gRI版本的软件,Oracle在进行补丁集(Patch Set ) 升级时选择的方式是:在原有的oracle home上直接用新的软件覆盖旧的软件,也就是所谓的in-place升级方式。而对l lgR2版本,Oracle选择创建新的oracle_home来保存新版本的软件,同时保留旧版本的软件,也就是所谓的out-of二place升级方式, 这种方式更有利于回滚到之前版本。另外,Oracle的软件产品通常比较复杂,包含很多组件, 所以还需要一个更加细致的清单来记录每一个oracle_home下所安装的产品组件。而本地目录(Local Inventory)就是这样一个清单,它记录了每个产品所安装的组件,以及每个组件上应用过的补丁程序信息。
全局Inventory
Inventory的位置是通过文件 /etc/oralnst.loc( 不同平台路径可能不同)记录的。默
认情况下它保存在<oracle_base>上一层路径的oralnventory路径下,例如:
[root@node1 ~]# more /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
[root@node1 ~]# more /u01/app/oraInventory/
backup/ ContentsXML/ logs/ oraInst.loc orainstRoot.sh oui/
Inventory的核心文件是inventory.xml文件,它位于<inventory_loc>/ContentsXML路径下,
[root@node1 ~]# more /u01/app/oraInventory/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>11.2.0.4.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0/grid" TYPE="O" IDX="1" CRS="true">
<NODE_LIST>
<NODE NAME="node1"/>
<NODE NAME="node2"/>
</NODE_LIST>
</HOME>
<HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11.2.0/db_1" TYPE="O" IDX="2">
<NODE_LIST>
<NODE NAME="node1"/>
<NODE NAME="node2"/>
</NODE_LIST>
</HOME>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
上面的信息说明:
. Inventory 的版本是11.2.0.4 0
. 集群管理软件被安装(CRS= ‘true’),对应的oracle home 名称是Ora11g_gridinfrahome1,路径
是/u01/app/11.2.0/grid。
注意:
主绝大部分的集群节点只能有一个oracle_home 被设直成为CRS=”true ”,这是因为每个
节点同时只能有一个集群管理软件运行。
. 数据库软件被安装,对应的oracle_home 名称是OraDb11g_home1,路径是 /u01/app/oracle/product/11.2.0/db_1。
. 集群中包含2 个节点: node1,node1。这意味着,集群中2 个节点的Inventory 位于相同的位置,而且包含相同的信息。
一旦Central Inventory 文件出现了损坏,·请不要尝试手动修改,因为这并不是Oracle 建议
的方式。
方式l :如果其他节点的inventory且nl 没有损坏,可以将其复制到本地节点以覆盖原有
文件。
方式2:使用runlnstaller 工具(这个工具位于<gi_ home>/oui/bin 路径下)重建 inventory. xml 文件。 例如:
添加 GI_HOME
$./runinstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/uOl/app/11.2. 0/
grid” ORACLE_HOME_NAME= ”Ora11g_gridinfrahome1” CLUSTER_NODES=node1,node2
CRS=true INVENTORY_LOCATION="/uOl/app/orainventory” LOCAL_NODE=node2
添加ORACLE_HOME
$./runinstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/11.2.0/db_1” ORACLE_HOME_NAME= ”OraDb11g_home1” CLUSTER_NODES=node1,node2
CRS=true INVENTORY_LOCATION="/uOl/app/orainventory” LOCAL_NODE=node2
本地Inventory
Local Inventory 用于保存某一个oracle_home 下所安装的组件清单, 它位于<oracle_home>/
inventory 下。由于Local Inventory 针对特定的软件主目录, 所以并不存在inventory.xml 文件。
文件<oracle_home>/inventory/ContentsXML/comps.xml 记录了对应主目录下安装的所有组件。
通常情况下, 每一个Oracle 产品都包含了很多组件, 所以comps.xml 文件的结构也很复杂,
强烈反对用户手动修改这个文件。一旦这个文件损坏, 可以考虑从其他健康节点复制这个文
件到本地节点;如果所有节点的comps.xml 都已经损坏, 只有通过重新安装软件的方式来恢
复。当然, comps.xml 文件损坏不会影响集群和数据库的正常运行, 但是在应用补丁时可能会
导致失败。
[root@node1 ~]# more /u01/app/oracle/product/11.2.0/db_1/inventory/ContentsXML/
comps.xml config.xml ConfigXML/ libs.xml oraclehomeproperties.xml
主要文件是comps.xml 。
转自:
https://blog.csdn.net/a743044559/article/details/78217964