2012年4月8日 星期日

在Ubuntu上安裝Oracle 11g R2


首先,請安裝Ubuntu 11.04,不建議安裝11.10,因為11.10把/dev/shm拿掉了,而Oracle需要這東東,若不幸的必需在11.10上安裝Oracle的話,請參考Oracle 11gR2 Express Edition on Linux Ubuntu 11.10 howto或者Oracle Database 11g Release 2 στο Ubuntu Server 11.10 64-bit(這可能是希臘文)


接下來的安裝步驟是參考Thread: Install Oracle 11gR2 on Ubuntu Linux 11.04 (64-bit) Howto而產出的。

執行下列步驟前,請確認磁碟空間是否足夠,使用光碟安裝時需6G空間,從網站下載安裝檔來安裝時需10G空間。

按下Ctrl+Alt+T開啟一個[終端機]
由於大部份的動作都要有root權限,所以先su到root
sudo su -
  1. 安裝必要套件
    apt-get install openssh-server libaio1 libaio-dev unixODBC unixODBC-dev expat sysstat libelf-dev elfutils lsb-cxx pdksh libstdc++5 ia32-libs vim
    
  2. 產生安裝時必要的link
    ln -s /usr/bin/basename /bin/basename
    ln -s /usr/bin/awk /bin/awk
    ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/ 
    ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/ 
    ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/ 
    ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64
    
  3. 增加核心參數
    cat - >> /etc/sysctl.d/60-oracle.conf <<EOF
    # Oracle 11gR2 kernel parameters
    fs.aio-max-nr=1048576
    fs.file-max=6815744
    net.ipv4.ip_local_port_range=9000 65500
    net.core.rmem_default=262144
    net.core.rmem_max=4194304
    net.core.wmem_default=262144
    net.core.wmem_max=1048586
    kernel.sem=250 32000 100 128
    kernel.shmmax=1073741824
    EOF
    
    
    service procps start
    sysctl -q fs.aio-max-nr
    
    fs.aio-max-nr = 1048576
    
  4. 建立Oracle帳號及目錄
    groupadd oinstall
    groupadd dba
    useradd -m -g oinstall -G dba oracle
    usermod -s /bin/bash oracle
    passwd oracle
    
    groupadd nobody
    usermod -g nobody nobody
    id oracle
    
    uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
    
    #先把原本的檔案備份
    cp /etc/security/limits.conf /etc/security/limits.conf.original
    #修改shell limits
    cat - >> /etc/security/limits.conf <<EOF
    #Oracle 11gR2 shell limits:
    oracle soft nproc 2048
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    EOF
    #修改/etc/profile
    cat - >> /etc/profile <<EOF
    if [ "$USER" = oracle ]; then
       if [ $SHELL = "/bin/ksh" ]; then
          ulimit -p 16384
          ulimit -n 65536
       else
          ulimit -u 16384 -n 65536
       fi
    fi
    EOF
    
    mkdir -p /oracle/app/oracle
    mkdir -p /oracle/app/oraInventory
    mkdir -p /oracle/oradata
    chown oracle:oinstall /oracle/app/oracle
    chown oracle:oinstall /oracle/app/oraInventory
    chown oracle:oinstall /oracle/oradata
    chmod 750 /oracle/app/oracle
    chmod 750 /oracle/app/oraInventory
    chmod 750 /oracle/oradata
    
  5. 安裝前的環境設定完成,可以離開root身份了
    exit
    
  6. 開始安裝Oracle 11g R2
    a.接下來的步驟都是用oralce帳號執行,所以請登出目前的使用者,以oracle登入。
    b.從oracle網站下載11gR2的linux x64版
    c.解壓縮至家目錄
    d.Ctrl+Alt+T開啟一個[終端機]
    e.改用英文介面的OUI,用中文介面會一堆方塊字
    export LANG=en_US
    database/runInstaller
    

    將中間的勾勾拿掉

    出現警告窗時,按「Yes」


    選擇只安裝資料庫軟體



    加入正體中文


    選擇安裝標準版


    選擇Oracle Base的目錄為/oracle/app/oracle




    勾選「Ignore All」,以忽略所有的檢核失敗



    安裝中...


    安裝完成後會出現此畫面



    ssh -l 其他使用者帳號 127.0.0.1
    

    sudo /oracle/app/oraInventory/orainstRoot.sh
    sudo /oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
    exit
    
    f.至此,oracle就算安裝完成了
  7. 建立資料庫
    a.於/oracle/app/oracle/product/11.2.0/dbhome_1/jdk/jre/lib/fonts裡建新目錄fallback,把自己喜歡的中文字型檔丟進fallback目錄裡,做完這件事後,使用oracle的圖型化管理介面就可以是中文,而不會是方塊了。
    b./oracle/app/oracle/product/11.2.0/dbhome_1/bin/目錄裡有netca檔,執行它,建立一個Lisenter。
    c./oracle/app/oracle/product/11.2.0/dbhome_1/bin/目錄裡有dbca檔,執行它,建立一個資料庫,建立時,請把DB的檔案目錄改到/oracle/oradata裡。
    d.執行sqlplus時,會遇到中文變問號的問題,請在環境變數裡加上NLS_LANG="traditional chinese"_taiwan.al32utf8;export NLS_LANG

4 則留言:

  1. 請問有什麼方法可以聯絡到版主您? 有關脫機外掛相關的問題想請教!您是否有在接case?謝謝

    回覆刪除
  2. 抱歉打擾...
    我是葉先生,
    請問,如果跟您學,如何寫這樣的flash脫機掛
    學到會,請問您怎麼收費呢?!
    本身有電腦簡單程式基礎底子
    聯絡資訊
    Line ID: yourstory

    回覆刪除