【oraInventory】由OUI-10035和OUI-10033錯誤引發的關於oraInventory目錄位置的思考

secooler發表於2011-05-17
今天在Linux作業系統(OEL4.8)安裝Oracle Enterprise Manager Grid Control 10g版本時遭遇OUI-10035和OUI-10033錯誤,如下圖所示。
【oraInventory】由OUI-10035和OUI-10033錯誤引發的關於oraInventory目錄位置的思考

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目錄知識已盡收眼底。

Good luck.

secooler
11.05.17

-- The End --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-695612/,如需轉載,請註明出處,否則將追究法律責任。

相關文章