Installing Oracle 10g on RHEL AS 3 Step-by-Step(轉)
不久前,Oracle(甲骨文)公司在美國加州的總部宣布, Oracle 10g 數(shù)據(jù)庫 與 Oracle RAC 在 TPC-H 基準測試中創(chuàng)造了新的世界紀錄.這是個令人震驚的消息.因為這個測試是在 Linux ( Red Hat Enterprise Linux Advanced Server 3) 的平臺上進行的. 這充分顯示了 Oracle 在低成本 Linux 集群服務器上高效管理大規(guī)模數(shù)據(jù)倉庫的能力, 也表明 Linux 在性能價格比上顯而易見的優(yōu)勢,標志著Linux在大規(guī)模企業(yè)應用上已經(jīng)成熟.
相信很多朋友已經(jīng)對10g躍躍欲試了,現(xiàn)在從這里讓我們開始10g之旅.
本文描述了在Red Hat Enterprise Linux Advanced Server 3 (RHEL 3)上安裝Oracle 10g 必要的步驟和相關知識. 本文假定你的Linux 操作系統(tǒng)已經(jīng)安裝完畢,并且您應該具有一定的 Unix 操作系統(tǒng)背景知識.
配置RedHat AS 3
操作系統(tǒng)版本:
Red Hat Enterprise Linux AS release 3 (Taroon)
Kernel 2.4.21-4.EL on an i686
按照常規(guī)來安裝操作系統(tǒng),記得要安裝開發(fā)工具(gcc等必要工具).
必要的硬件信息檢查
檢查內(nèi)容 最小值 檢查命令參考 物理內(nèi)存 512M # grep MemTotal /proc/meminfo 交換空間 1.0 GB或者2倍內(nèi)存大小 # grep SwapTotal /proc/meminfo /tmp 空間 400 MB # df -k /tmp 軟件所需空間 2.5 GB # df -k (空間越大越好,如果是正式系統(tǒng),應該進行詳盡的規(guī)劃) 數(shù)據(jù)庫文件 1.2 GB # df -k (空間越大越好,如果是正式系統(tǒng),應該進行詳盡的規(guī)劃)
檢查完如上各項之后, 應該修改核心參數(shù).執(zhí)行如下命令:
#vi /etc/sysctl.conf
#注釋:
#表示使用root用戶操作,$表示使用oracle 用戶進行操作.提示符后面的藍色部分表示需要輸入的命令,以下同.
編輯完之后,保存,執(zhí)行 # /sbin/sysctl -p 命令操作來使我們所做的變更生效.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
注:上面kernel.shmmax/kernel.sem等是典型的核心參數(shù)配置.您可能需要根據(jù)您的實際環(huán)境進行適當?shù)淖儎?
關于這些核心參數(shù)的說明在Oracle的 Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems 中有很詳細的說明.( http://download-west.oracle.com/docs/html/A96167_01/toc.htm )
然后,應該檢查一下上面的操作是否正確:# /sbin/sysctl -a | grep sem # /sbin/sysctl -a | grep shm # /sbin/sysctl -a | grep file-max # /sbin/sysctl -a | grep ip_local_port_range
為Oracle用戶設定Shell的限制
一般來說,出于性能上的考慮,還需要需要進行如下的設定,以便改進Oracle用戶的有關 nofile(可打開的文件描述符的最大數(shù))和nproc(單個用戶可用的最大進程數(shù)量)
# vi /etc/security/limits.conf # 添加如下的行 * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536
添加如下的行到/etc/pam.d/login 文件:
session required /lib/security/pam_limits.so
編輯 /etc/profile 文件,添加如下部分:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
之后,執(zhí)行$ unlimit 驗證一下.
檢查并安裝相關補丁
在這個版本的RHEL上安裝Oracle,必須要有幾個軟件包. 確認以下 rpm包都已經(jīng)安裝:
make-3.79 binutils-2.11 openmotif-2.2.2-16 setarch-1.3-1 compat-db-4.0.14.5 compat-gcc-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122# rpm -qa | grep compat
# 在我的機器上輸出如下:
compat-gcc-c++-7.3-2.96.122 compat-libstdc++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122 compat-glibc-7.x-2.2.4.32.5 compat-db-4.0.14-5 compat-gcc-7.3-2.96.122 # rpm -qa | grep openmotif openmotif-devel-2.2.2-16 openmotif-2.2.2-16 # rpm -qa | grep setarch setarch-1.3-1
上面顯示的內(nèi)容是在筆者已經(jīng)安裝了具體的RPM包之后的結果.一般情況下,你的系統(tǒng)上的輸出結果和這個不同.如果個別包沒有安裝,把系統(tǒng)安裝光盤mount上,找到具體的軟件包(大多數(shù)在第三張光盤上),然后利用如下的命令來安裝相應的包:
# rpm -ivh compat.....rpm
要額外注意的是,這些軟件包之間是有依賴性的,先后的順序要找好.否則會報告不能安裝的錯誤. 此外,最好驗證一下 gcc和glibc的版本(要求是gcc-3.2.3-2 或者更高):
#gcc -v #rpm -q glibc
創(chuàng)建用戶和相關的組
# /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba # /usr/sbin/useradd -g oinstall -G dba oracle
如果只是測試目的的話,不創(chuàng)建 oinstall 組也沒什么. 不過還是規(guī)范一點比較好.如果 oracle 用戶和 dba 組等已經(jīng)存在,作適當?shù)恼{整即可.
檢查并調整環(huán)境變量
登錄為oracle用戶
# su - oracle $ cd $ vi .bash_profile
#添加如下內(nèi)容,你的具體值應該不會和這個完全相同.
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 export LC_CTYPE=en_US.UTF-8
然后執(zhí)行
$ source .bash_profile
使環(huán)境變量生效. /u/app/oracle 等目錄應該建立好并做合適的授權.
開始安裝10g
mount你的安裝盤.(我一般都是把文件拷貝到系統(tǒng)中一個具體的位置,比如/u/install ) .執(zhí)行:
$ sh /u/install/runInstaller
如果不能出現(xiàn)安裝畫面,查看本文后面的FAQ。
非常值得稱道的是,10g的安裝相比以前的多了一個 Checking operating system certification 的步驟。特別實用。安裝文件會自動檢測所需的條件。如果有不符合的地方,安裝程序會報告給你.并會給出具體原因。大大減少了出錯的可能.下面是檢查成功輸出的內(nèi)容 :
Checking operating system certification Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0 Actual Result: redhat-3 Check complete. The overall result of this check is: Passed ======================================================================= Checking kernel parameters Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed Checking for shmall=2097152; found shmall=2097152. Passed Checking for shmseg=10; found shmseg=4096. Passed Checking for semmsl=250; found semmsl=250. Passed Checking for semmni=128; found semmni=128. Passed Checking for filemax=65536; found filemax=65536. Passed Checking for shmmni=4096; found shmmni=4096. Passed Checking for semmns=32000; found semmns=32000. Passed Checking for semopm=100; found semopm=100.Passed Checking for shmmin=1; found shmmin=1. Passed Checking for shmmax=2147483648; found shmmax=2147483648. Passed Check complete. The overall result of this check is: Passed ======================================================================= Checking recommended operating system packages Checking for make-3.79; found make-3.79.1-17. Passed Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed Checking for gcc-2.96; found gcc-3.2.3-20. Passed Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed Check complete. The overall result of this check is: Passed ======================================================================= Checking recommended glibc version Expected result: 2.2.4.31.7 Actual Result: 2.3.2.95.3 Check complete. The overall result of this check is: Passed ======================================================================= Validating ORACLE_BASE location (if set) Check complete. The overall result of this check is: Passed =======================================================================
其他的步驟比較清晰,不再贅述.
最后系統(tǒng)會提示你運行 root.sh 文件.按照提示做即可.
FAQ (在Linux平臺安裝Oracle比較常見的問題)
1. 不能啟動安裝界面
運行runInstaller提示信息類似如下:
xlib:connection to "localhost:0.0" refused by server xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError: can't connect to x11 window server using "localhost:0.0" at .......解決辦法: 設定你的DISPLAY環(huán)境參數(shù).
# export DISPLAY= your_IPaddress :0.0把your_IPaddress換成你的IP.或者用root簡單的執(zhí)行一下# xhost + (要注意這樣會有安全上的隱患).
2.安裝界面顯示很多"口口"樣子的亂碼
解決辦法:查看locale輸出
# locale LANG=en_US.UTF-8 LC_CTYPE=zh_CN.GB18030 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=執(zhí)行#export LC_CTYPE=en_US.UTF-8 然后重新調用安裝程序.
3. 用IE登錄Linux服務器上的em出現(xiàn)亂碼
在Linux(Unix) 環(huán)境下成功安裝了Oracle 10g,從windows下用IE瀏覽器登錄 10g 的em, 按鈕是"口口"這樣的方框.
解決辦法: 參考:
http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm
4.創(chuàng)建數(shù)據(jù)庫的時候出現(xiàn)ORA-03113的錯誤
解決辦法: 查看核心參數(shù)是否調整正確.參考:
http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1等系統(tǒng)10g不支持如何安裝?
解決辦法:在10g不支持的Linux發(fā)行版上安裝10g的解決方法
1). 運行runInstaller -ignoreSysPrereqs,這樣會跳過檢查.
2). 摘自 www.puschitz.com 修改/etc/redhat-release文件:
#su - root #cp /etc/redhat-release /etc/redhat-release.backup #cat > /etc/redhat-release << EOF Red Hat Enterprise Linux AS release 3 (Taroon) EOF安裝完畢,執(zhí)行如下操作:
#su - root #cp /etc/redhat-release.backup /etc/redhat-release3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同樣的思路,我們可以修改Oracle 的install/oraparam.ini文件達到目的.
6.如何關掉那些 ocssd.bin 進程?
解決辦法:編輯/etc/inittab文件(做好備份),注釋掉這一行:
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>................
參考信息
Werner Puschitz 的 10g 安裝指南 - http://www.puschitz.com/InstallingOracle10g.shtml
Werner Puschitz 的站點的文章很翔實,如果您遇到了本文沒有說清的問題,可以去看看那里.本文借鑒了該站點不少內(nèi)容.
http://www.google.com - http://www.google.com
關于核心參數(shù)等信息一定要用Google查找.
Oracle Database Quick Installation Guide 10g Release 1 (10.1) for Linux x86
http://download-west.oracle.com/docs/html/B10813_01/toc.htm
Oracle Database Installation Guide 10g Release 1 (10.1) for UNIX Systems http://download-west.oracle.com/docs/html/B10811_02/toc.htm
posted on 2007-11-10 00:56 liaojiyong 閱讀(913) 評論(0) 編輯 收藏 所屬分類: Oracle