Win7 64bit版本下安裝Oracle 11g OS許可權處理

dbhelper發表於2014-11-29

 

一般情況下,我們選擇安裝Oracle資料庫都是在LinuxAIX這類傳統伺服器作業系統下。即使出現Windows環境,也都是以20082012等伺服器版本作為安裝介質。在Win7環境下,一般是不推薦安裝Oracle伺服器版本的。

那麼對於平時需要在Win7環境下學習測試Oracle的朋友而言,虛擬機器+Windows客戶端是不錯的選擇。而且,Oracle在解除安裝Windows版本的程式deinstall的問題上,一直就有不太“優良”的口碑。所以作為初學者的朋友,還是慎重選擇Win7安裝。

前一段時間幫助朋友完成一項任務,就是在Win7 64bit版本上安裝Oracle 11g,全新的環境也積累了一些經驗問題。記錄下來,留待需要的朋友待查。

 

1、問題提出

 

在安裝Win7版本Oracle過程中,Oracle Net是一個比較麻煩的地方。一些朋友可能遇到過,當前使用者明明就是在ora_dba使用者組中,甚至已經賦予了管理員許可權,還是可能出現配置問題。比較典型的一個是啟動netca建立、修改Oracle Net引數時候,配置工具報錯。一般這樣的問題都是tnsname.oralistener.orasqlnet.ora三個配置目錄$ORACLE_HOME/admin/network的讀寫許可權造成的。

我們在Win7下進行操作都有這樣的經驗:如果是以非administrator使用者進行操作的時候,無論執行程式、執行刪除操作,甚至進入某些目錄都有一個管理員操作的確認過程。即使我們當前使用者在administrators使用者組中,也需要一個顯示的確認動作。

Oracle而言,這個過程其實是有很大問題的。長期以來,Oracle設計執行都是在AIXLinux體系下,文字配置、簡單許可權管理、環境變數是體系重要因素。對於Windows的架構體系,多多少少存在很大不適應的情況。Oracle配置工具,如NetCADeinstall,都不能從OS層面彈出確認功能。這樣,報錯是難免的了。

筆者遇到的問題,是在解決Oracle NET三檔案讀寫基礎上的。當前使用者非administrator作業系統使用者,但是賦予了管理員許可權。

在建立監聽器、啟動監聽器時候,報錯如下:

 

Win7 64bit版本下安裝Oracle 11g OS許可權處理

 

監聽器啟動錯誤。配置過程沒有問題,各型別引數也符合工作原理。Oracle Net三個核心配置檔案正常。只在監聽器啟動的時候失敗。

問題不僅僅在此,在之後安裝資料庫的時候,以前未知的報錯出現。

 

Win7 64bit版本下安裝Oracle 11g OS許可權處理

 

這型別錯誤是筆者沒有見過,也沒有經驗積累的。之後安裝過程無法繼續,只有終止操作過程。

 

2、問題分析

 

對於沒有見過的問題,最好的處理方法就是檢索Oracle MOSOracle MOS是一個我們學習解決問題最好的方法。

Listener啟動的問題,一個類似的問題是ID 948094.1Windows: TNS Listener Startup Fails with TNS-12560。在這個案例中,雖然是2008 64bit版本的伺服器,同樣出現了不能啟動監聽器的問題。

Oracle對這個問題的解釋是:當前作業系統使用者(非Administrator),許可權不足。需要額外賦予“Create Global Object”許可權策略。

 

DIM-00014錯誤,這個是在ID 432713.1中有一個說明。當我們試圖手工建立Windows版本Oracle例項的時候,一個步驟就是建立Services物件。我們在Windows Services列表中檢視到的控制列表專案,就是這個步驟完成的。報錯的主要原因,就是Windows引入的UACUser Account Control)功能,對非管理員使用者建立服務進行特殊的約束。

綜合兩個問題,許可權是根本性的原因。和通常安裝場景不同的是,筆者沒有使用Administrator使用者進行安裝,而是另外建立使用者。即使是額外賦予了管理員組許可權,還是有很多問題。一種嘗試的策略是切換回Administrator使用者,進行安裝操作。

 

3、問題解決

 

切換回Administrator之後,繼續配置安裝過程。這次平安無事。

 

Win7 64bit版本下安裝Oracle 11g OS許可權處理

 

4、結論

 

這個問題是比較簡單的,但是給筆者的啟示和想法是很多的。

首先,對於我們安裝版本的選擇。雖然有用途和維護使用者的實際情況,我們還是儘可能選擇AIXLinux版本系作業系統進行安裝。對Windows版本,只要不是特殊的要求,我們儘量不要使用。這種不僅僅是從架構、穩定性的考慮,也是從版本支援力度和後臺修復角度的考量。

其次,簡單最好。越簡單的架構設計,越不容易出現問題。並且在出現問題的時候解決越簡單。我們日常工作大多數都是任務目標驅動的,而且時間常常是嚴重的約束。最簡單的方法、工具和技術,最適合的實現我們的目標,在實際工作中才是最有價值的。

最後,就是出現問題解決。每一個IT人員的工作和成長,都是從一個難題到另一個問題。在出現問題的時候,不要慌張是第一步的,尋找官方資源,確定問題所在。大膽推理,小心求證是非常好的方法。


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

相關文章