[Oracle] Installing Oracle 10g on RHEL AS 3 Step-by-Step
整理:Fenng日期:06-Apr-2004
出處:http://www.dbanotes.net
版本:1.01
不久前,Oracle(甲骨文)公司在美國加州的總部宣佈, Oracle 10g 數據庫 與 Oracle RAC 在 TPC-H 基準測試中創造了新的世界紀錄.這是個令人震驚的消息.因爲這個測試是在 Linux ( Red Hat Enterprise Linux Advanced Server 3) 的平臺上進行的. 這充分顯示了 Oracle 在低成本 Linux 集羣服務器上高效管理大規模數據倉庫的能力, 也表明 Linux 在性能價格比上顯而易見的優勢,標誌着Linux在大規模企業應用上已經成熟.
相信很多朋友已經對10g躍躍欲試了,現在從這裏讓我們開始10g之旅.
本文描述了在Red Hat Enterprise Linux Advanced Server 3 (RHEL 3)上安裝Oracle 10g 必要的步驟和相關知識. 本文假定你的Linux 操作系統已經安裝完畢,並且您應該具有一定的 Unix 操作系統背景知識.
配置RedHat AS 3
操作系統版本:
Red Hat Enterprise Linux AS release 3 (Taroon)
Kernel 2.4.21-4.EL on an i686
按照常規來安裝操作系統,記得要安裝開發工具(gcc等必要工具).
必要的硬件信息檢查
檢查內容 最小值 檢查命令參考 物理內存 512M # grep MemTotal /proc/meminfo 交換空間 1.0 GB或者2倍內存大小 # grep SwapTotal /proc/meminfo /tmp 空間 400 MB # df -k /tmp 軟件所需空間 2.5 GB # df -k (空間越大越好,如果是正式系統,應該進行詳盡的規劃) 數據庫文件 1.2 GB # df -k (空間越大越好,如果是正式系統,應該進行詳盡的規劃)
檢查完如上各項之後, 應該修改核心參數.執行如下命令:
#vi /etc/sysctl.conf
#註釋:
#表示使用root用戶操作,$表示使用oracle 用戶進行操作.提示符後面的藍色部分表示需要輸入的命令,以下同.
編輯完之後,保存,執行 # /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等是典型的核心參數配置.您可能需要根據您的實際環境進行適當的變動.
關於這些核心參數的說明在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(可打開的文件描述符的最大數)和nproc(單個用戶可用的最大進程數量)
添加如下的行到/etc/pam.d/login 文件:# vi /etc/security/limits.conf # 添加如下的行 * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536
編輯 /etc/profile 文件,添加如下部分:session required /lib/security/pam_limits.so
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
之後,執行$ unlimit 驗證一下.
檢查並安裝相關補丁
在這個版本的RHEL上安裝Oracle,必須要有幾個軟件包. 確認以下 rpm包都已經安裝:
上面顯示的內容是在筆者已經安裝了具體的RPM包之後的結果.一般情況下,你的系統上的輸出結果和這個不同.如果個別包沒有安裝,把系統安裝光盤mount上,找到具體的軟件包(大多數在第三張光盤上),然後利用如下的命令來安裝相應的包: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
要額外注意的是,這些軟件包之間是有依賴性的,先後的順序要找好.否則會報告不能安裝的錯誤. 此外,最好驗證一下 gcc和glibc的版本(要求是gcc-3.2.3-2 或者更高):# rpm -ivh compat.....rpm
#gcc -v #rpm -q glibc
創建用戶和相關的組
# /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba # /usr/sbin/useradd -g oinstall -G dba oracle
如果只是測試目的的話,不創建oinstall組也沒什麼. 不過還是規範一點比較好.如果oracle 用戶和dba組等已經存在,作適當的調整即可.
檢查並調整環境變量
登錄爲oracle用戶
#添加如下內容,你的具體值應該不會和這個完全相同.# su - oracle $ cd $ vi .bash_profile
然後執行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
$ source .bash_profile
使環境變量生效. /u/app/oracle 等目錄應該建立好並做合適的授權.
開始安裝10g
mount你的安裝盤.(我一般都是把文件拷貝到系統中一個具體的位置,比如/u/install ) .執行:
$ sh /u/install/runInstaller
如果不能出現安裝畫面,查看本文後面的FAQ。
非常值得稱道的是,10g的安裝相比以前的多了一個 Checking operating system certification 的步驟。特別實用。安裝文件會自動檢測所需的條件。如果有不符合的地方,安裝程序會報告給你.並會給出具體原因。大大減少了出錯的可能. 下面是檢查成功輸出的內容 :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 =======================================================================
其他的步驟比較清晰,不再贅述.
最後系統會提示你運行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環境參數.
# export DISPLAY= your_IPaddress :0.0把your_IPaddress換成你的IP.或者用root簡單的執行一下# 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=執行#export LC_CTYPE=en_US.UTF-8 然後重新調用安裝程序.
3. 用IE登錄Linux服務器上的em出現亂碼
在Linux(Unix) 環境下成功安裝了Oracle 10g,從windows下用IE瀏覽器登錄 10g 的em, 按鈕是"口口"這樣的方框.
解決辦法: 參考:http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm4.創建數據庫的時候出現ORA-03113的錯誤
解決辦法: 查看核心參數是否調整正確.參考:
http://www.dbanotes.net/Oracle/ORA-03113.htm5. RedHat 9 / FC1等系統10g不支持如何安裝?
解決辦法:在10g不支持的Linux發行版上安裝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) EOF3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm#su - root #cp /etc/redhat-release.backup /etc/redhat-release同樣的思路,我們可以修改Oracle 的install/oraparam.ini文件達到目的.
6.如何關掉那些 ocssd.bin 進程?
解決辦法:編輯/etc/inittab文件(做好備份)
註釋掉這一行:h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>................