在RHEL上安裝Oracle 10g AS 3 Step-by-Step
2024-08-29 13:37:07
供稿:網友
 
             久前,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 用戶進行操作.提示符后面的藍色部分表示需要輸入的命令,以下同. 在該文件末尾加入如下內容: 
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
編輯完之后,保存,執行 # /sbin/sysctl -p 命令操作來使我們所做的變更生效. 
注:上面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(單個用戶可用的最大進程數量)# 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之后,執行$ unlimit 驗證一下.
                         檢查并安裝相關補丁
在這個版本的RHEL上安裝Oracle,必須要有幾個軟件包. 確認以下 rpm包都已經安裝: 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上面顯示的內容是在筆者已經安裝了具體的RPM包之后的結果.一般情況下,你的系統上的輸出結果和這個不同.假如個別包沒有安裝,把系統安裝光盤mount上,找到具體的軟件包(大多數在第三張光盤上),然后利用如下的命令來安裝相應的包: 
# rpm -ivh compat.....rpm 
要額外注重的是,這些軟件包之間是有依靠性的,先后的順序要找好.否則會報告不能安裝的錯誤. 此外,最好驗證一下 gcc和glibc的版本(要求是gcc-3.2.3-2 或者更高): 
#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.nethttp://oracle.chinaitlab.com/Oracle-10g-font.properties.htm 4.創建數據庫的時候出現ORA-03113的錯誤
解決辦法: 查看核心參數是否調整正確.參考:http://www.dbanotes.nethttp://oracle.chinaitlab.com/ORA-03113.htm
5. 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) 
EOF 
安裝完畢,執行如下操作: 
#su - root 
#cp /etc/redhat-release.backup /etc/redhat-release 
3). http://www.dbanotes.nethttp://oracle.chinaitlab.com/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 的站點的文章很翔實,假如您碰到了本文沒有說清的問題,可以去看看那里.本文借鑒了該站點不少內容. http://www.Google.com - http://www.google.com 
關于核心參數等信息一定要用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