场景
当Central inventory 损坏或者丢失,这时就需要在ORACLE目录中重建oraInventory
解决方案
步骤 1 >>>> 找到 central inventory 的存放路径
****Windows平台****
Central inventory 的默认存放路径为"C:\Program Files\Oracle\Inventory",Central inventory 的存放路径可以通过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
****Unix/Linux平台****
Central inventory 的存放路径可以通过central inventory指针获取到,而 central inventory 指针记载在文件 etc/oraInst.loc或/var/opt/oracle/oraInst.loc(平台相关)。
如果 oraInst.loc 文件不存在,请创建一个并包含以下内容
inventory_loc=<oraInventory 存放路径> inst_group=<软件的属组> |
注意:请确保oracle软件安装用户在指定的oraInventory存放路径中具有适当的权限(755)
步骤 2 >>>> 删除 Central inventory(如果存在)
使用以下命令重命名oraInventory(Unix/Linux)
% mv oraInventory oraInventory_orig
使用 Windows 资源管理器或“move”命令重命名存放在路径“c:\Program Files\oracle”(默认存放路径)的 Inventory(Windows)。
步骤 3 >>>> 切换到 oui 软件的执行文件目录
使用以下命令切换到 oui 软件的执行文件目录
(Unix/Linux): % cd $ORACLE_HOME/oui/bin
(Windows): > cd %ORACLE_HOME%\oui\bin
步骤 4 >>>> 在 Oracle Database 10.2.0.1 和更高版本上注册 Oracle Home
运行 runInstaller 带入参数 –attachHome
% ./runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Name_Of _Oracle_Home>"
> setup.exe -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Name_Of _Oracle_Home>" |
如果你有超过1个以上的ORACLE HOME,你必须对余下的ORACLE HOME重复执行步骤4,并确保对每一个ORACLE HOME提供唯一的ORACLE_HOME_NAME。
注意:
仅有在 10.2.0.1 和更高版本上支持在ORACLE HOME中重建 Central Inventory。
重建 Central inventory(oraInventory)不需要停机时间。
重建 Central inventory(oraInventory)的操作日志存放在以下路径:
****Unix平台****
oraInventory/logs(oraInventory 的存放路径可以从文件 oraInst.loc 中获取)
****Windows平台****
c:\program files\oracle\inventory\logs
在路径下你可以看到以下2个文件(.out 文件没有用处)
AttachHome<YYYY-MM-DD_<time>>.log
oraInstall<YYYY-MM-DD_<time>>.err




