介紹
最近想研究下LoadRunner測試Oracle效能,然後自己就開始嘗試著Linux上安裝Oracle.本來感覺這件事情不怎麼容易,聽朋友說他安裝的時候大費周折,重新安裝多次,問了好多人才解決的,但完成安裝後就感覺還是比較輕鬆的。現在和大家分享下我的經驗,我本身也是Linux菜鳥。
材料來源:Fedora8下安裝ORACLE10G資料庫圖文詳解
說明:紅字標明處是我的安裝體會。
環境介紹
VMWare7.1,Fedora 8(Rad hat下的一個比較老的版本),Oracle 10g
安裝準備
在WINDOWS上下載了10201_database_linux_x86_64.cpio.gz
然後用WINRAR解壓成.cpio檔案,我是通過建立WEB連結方式下載到虛擬機器上的LINUX的。至於其他方式N種,找個自己熟悉的方式就行。
安裝流程
1.解壓
cpio -idmv < (這個類似於WINRAR,非常麻煩要進行2次解壓)
2.設定核心參數:
(1) 向/etc/sysctl.conf檔案中加入: (對初學者而言你可以介面話的操作,如果你感覺很熟悉可以用vi編輯器etc.)
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144 (2) 運行下面的命令改變當前核心的參數:
/sbin/sysctl -p
3.加入下面內容到 /etc/security/limits.conf檔案
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
4.加入下面內容到/etc/pam.d/login檔案
session required /lib/security/pam_limits.so
5.加入下面內容到/etc/selinux/config檔案,如果此設定已經存在,改變value值就可以
SELINUX=disabled
6.使用下面的命令檢查必須的包
rpm -q 包名
需要的包有:
binutils-2.* elfutils-libelf-0.* glibc-2.* glibc-common-2.* libgcc-4.*
libstdc++-4.* make-3.* elfutils-libelf-devel-0.* glibc-devel-2.* gcc-4.*
gcc-c++-4.* libstdc++-devel-4.* unixODBC-2.*
如果沒有安裝使用如下命令進行安裝
yum install 包名
(注:包名可以寫成上面的形式)
7.建立使用者及組
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
usermod -G oinstall oracle
passwd oracle
8.建立目錄
mkdir -p /usr/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /usr/app
9.修改/etc/redhat-release檔案
內容為:redhat-4
10.向/etc/profile檔案中加入如下內容
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/usr/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=TSH1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
設定之後重新啟動電腦
11.以root 使用者登入執行以下命令:
xhost +
12.切換到oracle使用者
su oracle
執行:export DISPLAY=:0.0
13.進入oracle安裝檔案的目錄
執行 : ./runInstaller
說明:這裡要注意的是一定要在當前Oracle解壓的目錄下執行(cd命令和DOS一樣),切記要在oracle帳號下執行,否則會拋一個錯誤。
14.當開始安裝之後,如果出現在下面的幾種異常的處理辦法:
(1)Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-09-07_01-21-03AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred
解決:運行 rpm -p - -whatprovides libXp.so.6 列印出此檔案依靠的安裝包, 運行 yum install [列印出來的檔案名稱]
說明:這裡報的錯誤可能會因為一些包被更新而不同,最方便的方法是安裝包錯的包直接使用yum命令,有些版本虛擬機器不支援yum命令,你可以自己安裝下,網上這類的教程很多。
(2)在進入圖形安裝介面後,驗證安裝條件時,如果出現error的情況,請根據提示進入記錄檔內.
如果出現:xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock failed.這樣的錯誤
解決:
A.先root使用者登入,執行下面內容
yum --enablerepo=development update libxcb
說明:這裡一些情況不太一樣,使用該指令沒有更新成功,一直報找不到資源錯誤,然後通過yum update libxcb,繼續運行沒有任何錯誤。
B.回到oracle使用者,執行下面內容
export LIBXCB_ALLOW_SLOPPY_LOCK=1
15進入介面安裝流程
(1)選擇Advanced Installation
(2) 下一步
(3)選擇Enterprise Edition
(4)下一步
(5)這裡是Check你的安裝條件,必須全部通過,否則無法順利安裝
說明:
(1)首先這裡可能出現一些問題,Checking operating system package requirements(也就是驗證作業系統包的完整性)雖然按照第6個流程安裝了所有包,但一些特殊情況有些包可能會遺漏,如果出現Error或者Warning一定要看下面的日誌,那些包是Fail的,你直接使用yum命令安裝。
(2)有一個驗證網路設定的選項,你可以通過vi編輯器開啟/etc/hosts檔案,把120.0.1修改成固定IP
(3)可能會出一些特殊的情況,這個和你本身的Linux版本,以及更新的包有關係,如果不行可以更新最新的,還是不行可以刪除對應報錯的包,然後安裝指定版本的。
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
說明:這裡要注意的是,記得報錯後看日誌,你可以看到因為什麼原因報錯。我碰到過一個問題, 在Link pending...流程中拋出異常,然後我找到對應的日誌,發現因為找不到一個叫/urs/lib/libstdc++.so.5的檔案,而檔案夾下僅僅只有一個叫libstdc++.so.6的檔案,明顯版本比Orecla 10g指定的高,但Orecla 10g不認這個包。我使用ln命令解決了這個問題。命令:ln -s -f libstdc++.so.6 libstdc++.so.5。如果缺少包你也可以直接使用yum或者rpm命令安裝。
(15)
(16)
(17)
(18)
(19)
16 嘗試使用Oracle
命令如下:
>sqlplus
>userName:sysman
>passWord:******(第12步流程輸入的密碼)
SQL>select * from dba_tables where ROMNUM <= 10 (查出當前號下的所有表資訊)
總結
在安裝過程中你可能遇到各類不同問題,網上也寫了一大堆,但是可能都不是你當前情況出現的問題,別急只要按Oracle本身的Install Guides去操作就可以了,其他問題基本上就屬於出現包需要更新,安裝類似的問題。 如果碰到特殊問題只要去網上查詢下,基本上能找到解決方案。