如何安裝Linux 版的 Oracle 8i R3 ( 8.1.7 )

恆逸資訊教育訓練中心首頁

作者: 恆逸資訊 何致億

Oracle 公司自從率先支援Linux平台以來,就在Linux領域展現強大的企圖心。每當Oracle推出新的資料庫伺服器版本時,Linux版本幾乎都是緊跟在Unix版本之後推出的。至目前為止,OTN網站上Oracle 8i Linux 版本的下載次數也早已超過500000次,這也顯示出Oracle for Linux受到全世界Linux使用者的熱烈歡迎!
唯一美中不足的是以往在Unix/Linux 平台安裝Oracle資料庫時,只能使用文字模式來安裝,甚至連滑鼠都無法使用!而筆者就曾經碰到許多想學習Oracle資料庫的人抱怨連Oracle資料庫伺服器都無法順利安裝成功,因此打了退堂鼓。這實在是相當可惜的事呀! 自從Oracle 8i R2(8.1.6)之後的安裝程式因為是以Java撰寫,這意味著您在不同的作業系統平台上都可以使用相同的安裝程式(Oracle Universal Installer),甚至是在Linux上的X Windows環境之內也可以安裝Oracle資料庫喔!!
在本文內容中,我將為大家介紹如何在Redhat 6.2 上安裝Oracle最新版本的資料庫伺服器,以及安裝時的一些注意事項。

安裝Oracle 8.1.7之系統需求

作業系統需求
Linux Kernel 2.2.16以上
GLIBC 2.1.3 以上
硬體需求
記憶體建議至少256MB
SWAP空間400MB以上
磁碟空間
典型安裝:800 MB
最小安裝:625 MB
自訂安裝:最大約900 MB

Oracle 8.1.7之安裝方式

在Linux平台上安裝Oracle 8i 的方式與其他Unix平台的安裝方式相當類似,大致可分為以下三大階段:

  1. 安裝之前Linux系統的環境設定。
  2. 建立安裝程式所需要的oracle帳號與群組。
  3. 利用oracle這個帳號進行安裝動作。
您必須特別注意的是, Oracle 8.1.7 for Linux在安裝過程必須指定已安裝的JDK(Java Developer Kit) 目錄位置,所以您必須事先將JDK安裝好。
 

安裝JDK的方式:
安裝Oracle 8.1.7之前,您的系統內必須事先安裝好JDK 1.18版以上, 您可以到http://java.sun.com/j2se/1.3/ 下載最新版本的JDK! 以本文為例, 我使用了JDK 1.3 for Redhat的rpm版本, 安裝過程如下:

  1. 下載 j2sdk-1_3_0-linux-rpm.bin
  2. 將檔案屬性更改為可執行檔,執行後將會在同一目錄下建立一個rpm檔: # chmod a+x j2sdk-1_3_0-linux-rpm.bin #./j2sdk-1_3_0-linux-rpm.bin
  3. 執行rpm指令安裝JDK: # rpm -iv j2sdk-1_3_0-linux.rpm

    p.s: 安裝後的JDK目錄為 /usr/java 。


階段一:安裝前的Linux系統的環境設定

 
1. 為Oracle 8.1.7 設定Linux的核心環境(kernel)

為了使Oracle 8i能在Linux平台上運作順暢,我們必須配置適當的記憶體空間給Oracle資料庫的SGA使用。配置方式是藉著修改Linux核心的IPC相關參數來達成。如果記憶體配置有問題,很可能您安裝後的Oracle資料庫將無法順利啟動。

請注意SHMMAX是利用十六進位方式設定。例如我安裝用的伺服器記憶體為256MB,則SHMMAX可設為128MB,換算方式如下:
 
重要的IPC參數與設定參考值:

參數名稱
參考值
SHMMAX
實體記憶體*(1/2)
SHMMIN
1
SHMSEG
10
SHMMNI
100
128 MB = (1MB=1048576 bytes) *128
= 134217728 bytes (十進位)
  = 0x8000000 bytes (十六進位)
而要修改IPC參數的方式是編輯shmparam.h檔案:
  # vi /usr/src/linux/include/asm/shmparam.h
註:修改IPC參數之後,您必須將Linux系統核心重新編譯才會生效。
 
2. 建立Oracle資料庫的安裝目錄 (即建立新的mount point)
在Linux作業系統下安裝Oracle 8i時,必須建立不同的mount points。 一般來說,安裝前最好能規劃兩個新的partition來設定mount point ( 名稱可取為/u01與/u02),分別用來存放Oracle的相關應用程式與所有資料檔。
在這裡為了簡化安裝步驟,您可以只建立一個新的目錄作為mount point,用來存放所有Oracle應用程式與資料檔。例如您可以執行mkdir 指令建立一個/u01的目錄作為mount point。
註:如果為了資料庫的實際執行效能考量,則實際安裝Oracle資料庫時不妨考慮使用OFA(Optimal-Flexible-Architecture)的方式來安裝。即一個mount point (.u01) 存放Oracle應用程式,三個mount points(u02、u03、u04) 存放資料檔。

階段二:建立與設定Linux下的oracle安裝帳號與群組

在第二階段的安裝過程可分為以下兩部分:
  1. 建立安裝程式所需要的oracle 帳號與群組
  2. 設定oracle帳號之環境變數 (編輯 .bash_profile)
因為建立帳號與設定環境變數時都是在Console下指令,所以請確認您鍵入的指令或參數設定是否正確,以免往後的安裝過程出問題!
1 建立oracle使用者帳號與oinstall、dba群組
  • 建立oracle使用者帳號與oinstall、dba群組。
      # groupadd oinstall
    # groupadd dba
  • 1.2 執行useradd 指令建立oracle帳號,並設定其Primary group為oinstall,且Secondary group為dba。
      # useradd oracle -g oinstall -G dba
  • 1.3 修改 /u01安裝目錄之擁有者為oracle使用者。 因為 /u01是由root建立的,且目錄權限為755。所以在安裝之前您必需執行chown指令更改目錄的擁有者為oracle,並執行chmod指令更改目錄權限為775。
      # chown oracle.dba /u01
    # chmod 775 /u01
2 設定oracle這個帳號的環境變數
登出Linux系統。改用oracle身分登入後編輯.bash_profile 檔案,加入以下環境變數與其設定值:

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/8.1.7; export
ORACLE_HOME ORACLE_SID=o817; export ORACLE_SID
PATH=$PATH:/u01/app/oracle/product/8.1.7/bin; export PATH


ORA_NLS33=/u01/app/oracle/product/8.1.7/ocommon/nls/admin/data; export ORA_NLS33


NLS_LANG="TRADITIONAL CHINESE_TAIWAN".ZHT16BIG5; export
NLS_LANG





註: 請特別注意ORA_LANG之設定值為 "TRADITIONAL CHINESE_TAIWAN".ZHT16BIG5。 這樣子才可以正常存取繁體中文之資料! 如果您需要設定成其他語系, 請參考OTN網站上的 Oracle 8i National Language Support Guide。

階段三:利用oracle帳號進行安裝動作

  • 啟動Oracle Universal Installer。
    此時您必須重新使用oracle這個使用者帳號登入(這樣子剛才.bash_profile內的設定才會生效),接著您可以選擇在console下或是X windows 環境啟動安裝程式。
      # cd /usr/src/oracle8.1.7/disk1
    (此路徑可能與您的環境不同,請指定實際的Oracle 來源路徑)
    #./runInstaller
  • 在出現歡迎視窗之後,您可以直接按下【Next】。之後您必須確認安裝程式的來源路徑以及Oracle資料庫之主目錄位置,如下圖三所示:

    註:在Destination Path出現的是.bash_profile所設定的$ORACLE_HOME設定值。



    按下【Next】之後安裝程式會要求您以root身分執行orainstRoot.sh,該程式之位置是在/u01/app/oracle/product/8.1.7。 您可以另外開啟一個terminal window執行root.sh。但請注意目前的身分還是oracle帳號!您可以使用su root 取得root之權限,執行過程將如下圖四所示:



    執行後回到原來的安裝程式視窗,按下【Next】。
  • 指定欲安裝的Oracle產品與安裝方式。
    因為我們現在所要安裝的是資料庫伺服器,所以請選擇Oracle 8i Enterprise Edition 8.1.7.0.0
    安裝方式則請選擇Typical典型安裝。
  • 設定Oracle 8i資料庫名稱。
    Oracle 8i以後的版本都是以Global Database Name來唯一識別每一個資料庫,建議您設定資料庫的名稱為電腦名稱.網域名稱,例如linux.uuu.com.tw, 或是SID名稱.網域名稱,例如o817.uuu.com.tw。
    除了設定Global Database Name之外,還必須設定Oracle SID (Oracle System Identifier)。因為我們之前已經在.bash_profile內設定過ORACLE_SID環境變數,所以安裝程式也會自動設定SID為o817
  • 設定資料檔之目的位置。
    為了提供較佳資料庫的執行效能與容錯功能,最好將Oracle資料庫的系統檔案(Data files、Control files、Redo Log Files)存放在不同的mount points。因為目前我們只有建立一個mount point,所以請直接設定成/u01即可。
  • 設定JDK之目錄位置。
    如果是以Typical的方式進行安裝,則安裝程式會自動安裝Oracle HTTP Server。在安裝Oracle HTTP component時您的Linux系統必須已安裝JDK!以JDK1.3 版為例,安裝後的目錄為/usr/java。


    設定好JDK之目錄後,系統將要求您確認所有安裝選項。確認之後如果沒有問題就按下【Next】,Oracle Universal Installer將會正式開始安裝動作囉! 以我安裝用的環境PIII 500、256 MB ram而言,大概需要二十幾分鐘來複製所有系統檔案並進行後續的設定動作。所以您可以先去泡杯咖啡輕鬆一下吧!
  • 進行安裝後的環境設定。
    等到安裝程式將所有檔案複製到系統之後,安裝程式會再度要求您以root身分執行root.sh程式 (位於 /u01/app/oracle/product/8.1.7/)。如下圖所示:
    您可以再開啟一個terminal window來執行root.sh(注意身分需切換為root)。接著該程式會詢問您bin目錄之位置,如果與預設值相同的話請直接按下【Enter】鍵,否則需輸入正確的bin目錄位置。



    執行root.sh之後再回到圖六的視窗內按下【OK】即可繼續最後的安裝步驟。
  • 進行Net 8組態設定與建立資料庫。


    安裝程式會先啟動Net 8 Configuration Assistant進行相關的系統設定,在歡迎視窗出現時,您可以勾選下方的"Perform typical configuration"。 當Net 8的組態設定完成之後,安裝程式會接著啟動Database Configuration Assistant建立資料庫。建立完成後安裝程式將會提醒您已設定好的資料庫名稱、Oracle SID、系統管理者的帳號與預設密碼,請記得在安裝程式結束後更改預設的系統管理者密碼。
  • 安裝完成。 看到下圖十二的畫面時就算大功告成了!按下【Exit】離開安裝程式吧。

檢視安裝後的Oracle資料庫伺服器與Oracle HTTP Server


好不容易將Oracle資料庫安裝好了,就趕快來測試一下吧! 您可以在terminal window內執行sqlplus程式,並利用scott使用者帳號(密碼為tiger)登入Oracle資料庫。
要測試Oracle HTTP Server 是否正常運作時,您可以直接在瀏覽器內輸入Oracle HTTP Server之URL,並指定預設的port 7777。如圖十四所示:

總結

因為Linux版的Oracle資料庫可與其他Unix平台的版本一樣地提供絕佳的執行效能與穩定度,不僅可以降低整體擁有成本,資料庫管理者在評估與規劃資料庫系統時也多了一項非常好的選擇。 對於新型態的網際網路運算架構而言,Oracle 8i for Linux也高度整合Oracle Internet Application Server (iAS)以及JServer等伺服器,提供了一個開放環境下的完整資料庫解決方案!