在SuSE 9.1 professional安裝Oracle 10g
2024-08-29 13:36:54
供稿:網(wǎng)友
 
                 SuSE 9.1 專業(yè)版是前一段時間發(fā)布的。SuSE公司是歐洲的一個重要的linux廠商。Suse Linux一直以界面華麗而著稱。其實,SuSE Linux的一個很引人注目的地方就是對Oracle的支持一向不錯。                                                                                                在SuSE以前的幾個版本中,都針對Oracle有過專門的改進,安裝起來也比較的方便,一般用戶只需要安裝一個RPM包即可搞定。不過目前的9.1版本是否支持Oracle 10g還沒有官方聲明。經(jīng)過筆者測試,發(fā)現(xiàn)Oracle 10g在SuSE上可以運行的很好。    SuSE Linux 9.1 采用的是2.6( 2.6.4-52)的核心。這是筆者要對其測試的一個重要原因。這個版本KDE是3.2版本的,GUI足夠華麗, 不過這個和我們今天的這個主題關系不大。對SuSE新特性感愛好的讀者可以先去看一下這個Links: http://www.suse.com/us/PRivate/prodUCts/suse_linux/prof/new_features.Html 。此外,SuSE集成了 LVM2。LVM對維護上帶來了不少方便,從某種意義上說提高了系統(tǒng)可用性。2.6核心 + LVM2 + 10g--還真的蠻吸引人的。    安裝之前,先去Suse的Oracle支持站點看看: http://www.suse.com/en/business/certifications/certified_software/oracle/documents.html 。雖然沒有直接針對Oracle 10g 的資料,不過一些文檔也是非常有參考價值的哦。還有http://otn.oracle.com 上的支持文檔,也應該是必讀之物。    一 預備工作    先檢查操作系統(tǒng)軟件包是不是已經(jīng)安裝齊備。也就是屬于開發(fā)環(huán)境的那些東西,Gcc 、binutils 、make等等,假如沒有安裝的話,可以通過yast2工具來進行安裝,仔細選好軟件,按照提示依次插入各安裝盤即可。    參考http://www.dbanotes.nethttp://oracle.chinaitlab.com/Install-Oracle10g-RHEL3.htm 這里的信息。(另外, 在該Link還可以找到其它的一些有用的Link)。    接下來我們創(chuàng)建用戶和相關的組,調整用戶的環(huán)境變量:    eXPort ORACLE_BASE=/u/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
    export ORACLE_SID=TEST
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib    創(chuàng)建目錄,檢查核心參數(shù)。SuSE上我沒有發(fā)現(xiàn) sysctl.conf 文件。自己創(chuàng)建之。內(nèi)容如下:    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 65536
    net.ipv4.ip_local_port_range = 1024 65000    然后sysctl -p 確定一下。在這里要注重的一點是在系統(tǒng)重新啟動之后不能自動讀取我們創(chuàng)建的文件。 可以考慮    #chkconfig boot.sysctl on    或者是利用SuSE 的Yast 工具來設置。    二 安裝軟件    安裝之前要進行一下處理。因為runInstaller所需要的配置文件oraparame.ini 中沒有提到SuSE ,所以,預檢查的時候會報告錯誤。
                             我們采取調整該文件的辦法.具體參考: http://www.dbanotes.nethttp://oracle.chinaitlab.com/10G-Beta-Install-Bug.htm    vi oraparam.ini
    找到
    [Certified Versions]
    Linux=redhat-2.1,UnitedLinux-1.0,redhat-3
    修改成
    [Certified Versions]
    Linux=redhat-2.1,UnitedLinux-1.0,redhat-3,SuSE-9.1
    然后運行./runInstaller    假如不能出現(xiàn)X安裝界面,注重DISPLAY環(huán)境變量的設置。以后一路是圖形文件。不多說了。注重,在安裝的時候不要創(chuàng)建數(shù)據(jù)庫。    三 創(chuàng)建實例    運行dbca ,創(chuàng)建實例。不過,在這里一個比較令人頭疼的問題。圖形化創(chuàng)建實例總是報告: ORA-27125:unable to create shared memory segment. 檢查核心參數(shù),沒有發(fā)現(xiàn)問題。后來經(jīng)過網(wǎng)絡上的交流得知:Linux 2.6內(nèi)核有個特性:Huge TLB支持。該特性默認條件下是激活的。    相關解釋:    By default only root has permission to allocate shared memory with this option (SHM_HUGETLB) and Oracle 10g defaults using it, so Oracle fails to allocate the SGA.This capability is supposed to be able to controlled with the setcaps program (CAP_IPC_LOCK), but I couldn't get it to work properly. The solution is either to set DISABLE_HUGETLBFS=1 before you start Oracle or to recompile the kernel without CONFIG_HUGETLB_PAGE and CONFIG_HUGETLBFS configuration parameters.    要解決該問題,在Oracle用戶下執(zhí)行 $export DISABLE_HUGETLBFS=1 (初稿這里有誤) 注(2004年9月19日):本文最初描述的有問題,一般來說執(zhí)行如下的操作比較穩(wěn)妥:    linux: # cd $ORACLE_HOME/bin
    linux: # mv oracle oracle.bin    cat >oracle <<"EOF"
    #!/bin/bash    export DISABLE_HUGETLBFS=1
    exec $ORACLE_HOME/bin/oracle.bin $@
    EOF    linux: # chmod +x oracle    這是因為類似dbca這樣的java應用不能把 DISABLE_HUGETLBFS=1傳遞給oracle執(zhí)行程序。    具體信息可參考URL:http://www.gesinet.it/oracle/hugetlb.html 還有下面的參考URL.    然后再次運行dbca 。假如碰到問題的話,最好是定制庫,最后選擇"生成腳本" (當然,可以自己寫腳本建庫,不過用圖形工具方便一些) 。運行腳本創(chuàng)建實例。不出意外的話,這次應該沒有問題了。    安裝數(shù)據(jù)庫只是學習Oracle 10g的一個序曲。別等待,開始探索10g 的眾多特性吧!