Oracle Inventory介绍-2019-03-20

+++++++++++++++++++++++++++++++

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

  11.2.0.4.0

  2.1.0.6.0

 

     

     

 

 

     

     

 

上面的信息说明:

. 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

你可能感兴趣的:(Oracle Inventory介绍-2019-03-20)