天天看點

Oracle Database 11g R2 在Oracle Linux 6.3和Ubuntu 12.04的安裝

[img]http://dl2.iteye.com/upload/attachment/0094/4898/98ca5af7-465d-3365-8e9b-b7ffc2926a1b.jpg[/img]

Oracle Database很難裝。在微網誌上看到,有人說如果裝好Oracle的資料庫,其他資料庫就很簡單了。除了MySQL,我沒裝過其他,是以不知道。。

Oracle Linux Server 6.3:

既然是Oracle的産品,Oracle Linux應該是被支援的平台之一。Oracle Database 11g Release 2 (11.2) Installation On Oracle Linux 6這篇文章基本上照着做就可以安裝成功了。

Ubuntu 12.04:

同樣,How to install Oracle Database 11g R2 on Ubuntu 12.04這篇文章也是按照它做就基本上會成功了。它的中心思想是兩個步驟。一是把ubuntu裝扮成Red Hat/Fedora系,修改檔案夾結構,添加軟連結;二是安裝。輕松加愉快。

筆記:

珠玉在前,我也不好獻醜重寫一篇了。不過,在我安裝的過程中,遇到幾個情況,覺得值得記錄一下。

其中一個提前說的就是最好先設定,安裝前再解壓。因為對兩個檔案改權限總比兩個檔案夾簡單一點。

這些notes中,前兩點是僅針對Oracle Linux的,後面的是兩個作業系統公共的:

1. 在Oracle Linux Server 6.3安裝的時候,oracle-rdbms-server-11gR2-preinstall這個工具很好用。它自動化地把配置修改了,而且在前面添加上注釋,如果以後要恢複配置,能清晰地看到。因為Oracle Linux是Red Hat相容的,是以不知道會不會也有相同的效果。ubuntu裝了rpm,也沒有嘗試過。

不過,在自動化配置工具運作完成以後,有兩個地方與文中不一緻。一是中還有一兩個文中所說包沒有被安裝。雖然應該問題不大,但為了保險起見,我還是用yum安裝了;二是有些使用者組沒有被建立,這點文中手工配置的部分提到過,那些組是不需要的。後來在另一台機器上沒有建立這些組,安裝依然成功。

2. Oracle Linux Server 6.3文章中,+xhost那一句的指令,我運作從未成功過。但貌似不影響結果。

3. /etc/sysctl.conf中,那些字尾是all與max的值,應該不需要與文中一緻。那個應該是資料庫的要求的最小值,隻需要比那個值大就好。

4. /etc/hosts中,加上那一行的意思應該是從這個檔案中,找到本機主機名的一個ip位址。是以這需要做到兩點,一是給一個形式合法的ip,能否連接配接到網際網路沒關系,最好避開127.0.0.1;二是要寫自己的主機名,不要照抄文章用的那一個,具體可以在shell中用hostname指令查詢。實際上在文章中用尖三角寫了應該怎樣替換。

5. 安裝時,如果按照文中所說,用指令行運作runInstaller,即使設定了display變量,還是會出現Java異常。這應該是一個顯示的問題,具體我也不太了解。在個人電腦中,要回避這個問題,可以用圖形界面登入oracle使用者,然後用滑鼠輕按兩下安裝目錄下的runInstaller安裝。安裝選擇typical還是advance都沒有問題。

6. 安裝過程中可能出現錯誤,這時不要急着退出,先按一下retry(有個錯誤就是這樣被解決了。。)。如果不行,按照文中修改,然後retry即可。如果不能解決,請google一下。反正程序也是挂起了,不會有問題的。

7. 若未設定/etc/hosts,複制完檔案、配置資料庫會出現一個錯誤(号碼忘了,不好意思),請重新查閱文章,設定為本機的hostname。

8. 安裝成功後,記得運作那兩個腳本。

9. 可以按照講Oracle Linux安裝那篇文章設定環境變量。

10. 用sqlplus,以sys(或者sysdba)使用者登入後,可以嘗試連接配接到scott/tiger模式。這需要先運作startup。

如果出現ORA-01034和ORA-27101錯誤,網上有兩步可以解決問題,一是看變量$ORACLE_SID有沒有設定(有可能寫了配置檔案,但是環境變量還沒讀取),二是看/dev/shm這個共享的空間有沒有挂載、空間是否滿足需求。

如果這些都滿足,可能就是啟動時的找不到pfile (Initialization Parameter File)。通常,啟動時資料庫會找$ORACLE_HOME/dbs/init$ORACLE_SID.ora這個檔案。

這有兩個解決方法。

10.1. 可以用指令行在startup指令後指定pfile,或者指定到全局的spfile(一般在$ORACLE_HOME/dbs/spfile,或者用show parameter spfile來定位)。

10.2. 把$ORACLE_BASE/admin/<username>/pfile/init.ora.<number>複制到$ORACLE_HOME/dbs/init$ORACLE_SID.ora。當然,在後者的目錄下把init.ora複制成init$ORACLE_SID.ora,然後再配置也是可以的。

11. 有可能做完前面的東西,再次startup會出現ORA-01078以及LRM-00109錯誤,這時請嘗試一下重新開機機器。我的朋友就是因為共享空間忙,嘗試多次後失敗。登出也不行,但重新開機後就好了。如果重新開機後也不行,請google一下,所有的解決方案都是一樣的呢。

最後,可以解鎖賬戶,進入scott/tiger模式與hr/hr模式測試資料庫是否成功運作啦~