oracle 10g 客户端安装错误:OUI-10035和OUI-10033错误

由OUI-10035和OUI-10033错误引发的关于oraInventory目录位置的思考

今天在Linux操作系统(OEL4.8)安装Oracle Enterprise Manager Grid Control 10g版本时遭遇OUI-10035和OUI-10033错误,如下图所示。


 

1.报错内容
1. OUI-10035:You do not have permission to write to the inventory location.
OR
2. OUI-10033:The inventory location /u01/app/oraInventory set by the previous installation session is no longer accessible. Do you still want to continue by creating a new inventory? Note that you may lose the products installed in the earlier session.

2.报错原因及处理方法
1)报错原因
导致出现这个问题的原因已经在提示中说得非常明确,原因是“存放inventory的位置权限不足”。
问题处理也同样简单,将/u01/app目录的读写权限授权给oracle用户。

2)处理方法
$ chown -R oracle:oinstall /u01/app
$ chmod -R 755 /u01/app

然后重新启动OUI进行安装即可。

3.oraInventory存放目录规则
基于这个报错信息,引起了我对oraInventory目录存放规则的思考,总结在此。
1)规则一
在操作系统上第一次安装Oracle软件时,OUI(Oracle Universal Installer)将会默认去检查操作系统上是否存在类似“/u01/app”、“/u02/app”、“/u03/app”等一系列目录,若存在,oraInventory目录将创建在此目录下。本例中体现的便是这个规则。
最终目录为:
/u01/app/oraInventory

描述本例报错过程:
启动Grid Control安装界面 → OUI发现此系统已存在“/u01/app”目录 → 于是乎Oracle决定将oraInventory目录创建在“/u01/app”目录下 → 突然发现oracle用户没有权限在此创建目录 → 最终抛出OUI-10035和OUI-10033错误

2)规则二
当oracle用户设置了“ORACLE_BASE”环境变量,则oraInventory目录将创建在“$ORACLE_BASE/..”目录中,即在$ORACLE_BASE目录的回退一级目录下创建oraInventory目录。举例如下。

若系统中给出如下ORACLE_BASE设定
export ORACLE_BASE='/oracle/app/secooler'

则oraInventory目录将会创建到secooler目录的上一级,也就是存放在“/oracle/app”目录下。
最终目录为:
/oracle/app/oraInventory

3)规则三
当既不符合“规则一”条件也不满足“规则二”时,oraInventory目录将会创建在OUI执行用户的home目录。oracle用户的home目录便是“/home/oracle”
最终目录为:
/home/oracle/oraInventory

4)规则四
oraInventory毕竟也只是一个目录而已,我们完全可以自定义这个目录的存放位置。在OUI的第一次安装过程中可以自定义它的存放位置。

4.小结
建议大家也按照这个思路面对每一个报错。每一个报错的背后都隐藏着很多有趣的知识点。
经过一番思考和总结后,关于oraInventory目录知识已尽收眼底

猜你喜欢

转载自o396032767.iteye.com/blog/2376224