美文网首页
Oracle Inventory介绍-2019-03-20

Oracle Inventory介绍-2019-03-20

作者: 甘蔗爱吃苹果 | 来源:发表于2019-03-20 14:56 被阅读0次

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

    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

    相关文章

      网友评论

          本文标题:Oracle Inventory介绍-2019-03-20

          本文链接:https://www.haomeiwen.com/subject/tsnzmqtx.html