Oracle oraInventory作用与重建

【参考】:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/about-the-oracle-inventory-directory-and-installation.html

【转载】:http://blog.chinaunix.net/uid-28815788-id-5765194.html

1. oraInventory作用

oraInventory是当前操作系统上,Oracle相关软件的安装目录清单。

当安装Oracle软件,如database、grid等时,会先读取oraInventory里的信息,判断当前ORACLE_HOME或GRID_HOME路径,是否已注册到oraInventory中,在软件安装完成时,则会在oraInventory里注册新的软件安装路径信息。

2. oraInventory路径

2.1 Windows

Windows上,oraInventory 的默认存放路径为"C:\Program Files\Oracle\Inventory"。

oraInventory 的存放路径可以通过 central inventory 指针获取到,而 central inventory 指针可以通过注册表键值 “inst_loc” 获取。

该键值可以通过以下步骤获取到:

1. 打开“运行”对话框(或按 Windows 键 + r 键)

2. 输入 "regedit" 并回车

3. 展开 HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE

4. 找到键值 "inst_loc"

注意:执行以下命令也可以在 Windows XP,2003 和 Vista 中显示 central inventory 指针。

C:\>reg query HKLM\SOFTWARE\ORACLE /v inst_loc

2.2 Linux

Linux上,oraInventory 的存放路径可以通过 oraInventory 指针获取到,而 oraInventory 指针记载在文件 /etc/oraInst.loc(AIX 和 Linux)或 /var/opt/oracle/oraInst.loc(平台相关)。

如果 oraInst.loc 文件不存在,请创建一个并包含以下内容:

  • inventory_loc=<存放路径>

  • inst_group=<软件的属组>

例如:

inventory_loc=/u01/oracle/oraInventory

inst_group=oinstall

注意:请确保 oracle 软件安装用户在指定的 oraInventory 存放路径中具有适当的权限(755)。

3. oraInventory信息

进入oraInventory路径下的ContentsXML目录,打开inventory.xml文件,可以看到Oracle软件安装路径列表。

4. oraInventory清理

Oracle软件未卸载干净,或oraInventory配置异常,可能会导致安装Oracle database或grid软件,出现安装目录报错,如[INS-30024] 或[INS-40404],此时需要对oraInventory进行清理。

清理方法为,删除或重命名Central inventory目录。

Unix/Linux

从/etc/oraInst.loc中,找到oraInventory路径,将其删除或重命名。

Windows

使用reg query HKLM\SOFTWARE\ORACLE /v inst_loc命令,获取oraInventory路径,重命名或删除该路径。

5. oraInventory重建

可以按照以下步骤进行oraInventory重建。

步骤 1:查看和清理oraInventory目录。

步骤 2:切换到 oui 软件的执行文件目录。

使用以下命令切换到 oui 软件的执行文件目录:

(Unix/Linux): % cd $ORACLE_HOME/oui/bin
(Windows): > cd %ORACLE_HOME%\oui\bin

步骤 3:注册 Oracle Home。

运行 runInstaller 带入参数 –attachHome。

(Unix/Linux): % ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="" ORACLE_HOME_NAME=""
(Windows): > setup.exe -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="" ORACLE_HOME_NAME=""

例如以下Linux路径:
ORACLE_HOME=/u01/app/oracle/product/10.2.0.3
ORACLE_HOME_NAME=OraDb10g_home1
(Unix/Linux): % ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/u01/app/oracle/product/10.2.0.3" ORACLE_HOME_NAME="OraDb10g_home1"

如果有超过1个以上的Oracle home,你必须对余下的 Oracle home重复执行步骤3,并确保对每一个 ORACLE_HOME 提供唯一的 ORACLE_HOME_NAME。

注意:

  • 仅有在 10.2.0.1 和更高版本上支持在 Oracle home 中重建 oraInventory。

  • 重建 oraInventory不需要停机时间。

  • 重建 oraInventory)的操作日志存放在logs目录下。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值