在RedHat Linux Enterprise AS3 U3上安裝Oracle9i


<前言>
這篇安裝文檔參考了CU及別的站點的幾位前輩的大作才得以成文,但倉促之間竟未記得他們的名字,實在有些愧疚,不過在這里我依然要對他們的無私表示感謝!希望這篇文檔可以對需要的人帶來一點幫助,也希望看到這份文檔的朋友斧正其中的錯誤。
硬件環境︰普通PC機一台,AMD Duron800 CPU,640M DDR 內存,Mator 5400 RPM硬盤,768M交換分區
操作系統︰RedHat Linux Enterprise Advanced Server 3 Update 3
數據庫軟件︰Oracle9i
軟件包名稱︰ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
補丁︰ p3006854_9204_LINUX.zip
p3948480_9206_LINUX.zip
下載地址︰mirrors.cn99.com,在這個站點可以下載到Oracle9i的3個CPIO包和p3948480_9206_LINUX.zip補丁
安裝步驟︰
1.在安裝操作系統時,不安裝apache服務器。
2.root用戶的準備工作︰
<1>建立oracle用戶及oinstall、dba組
#groupadd oinstall (oinstall是在安裝Oracle9i時提示要輸入的的UNIX Group Name)
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
#groupadd apache
#useradd -g apache -G oinstall apache
#passwd apache
<2>建立相關的目錄
#mkdir -p /opt/ora9/product/9.2
#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chown -R oracle.dba /opt/ora9
#chmod 775 /opt
<3>檢查是否安裝以下包︰
#rpm -qa|grep compat
compat-libstdc++-devel-7.3-2.96.128
compat-libstdc++-7.3.2.96.128
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-glibc-7.x-2.2.4
nss_db-compat-2.2-20
#rpm -qa|grep openmotif
openmotif-2.2.3-3.RHEL3
#rpm -qa|grep setarch
setarch-1.3-1
若沒有安裝的話,插入相應的操作系統安裝光盤進行安裝。
<4>設置內核參數
#vi /etc/sysctl.conf,加入以下語句︰
kernel.shmmax=1073741824
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
<5>查看修改
#sysctl -p
<6>設置oracle對文件的要求
#vi /etc/security/limits.conf,加入以下語句︰
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
<7>設置環境變量
#export ORACLE_BASE=/opt/ora9
#export ORACLE_HOME=/opt/ora9/product/9.2
<8>確定使用正確的編譯器
#mv /usr/bin/gcc /usr/bin/gcc323
#mv /usr/bin/g++ /usr/bin/gcc++323
#ln -s /usr/bin/gcc296 /usr/bin/gcc
#ln -s /usr/bin/g++296 /usr/bin/g++
<9>另開一個終端以oracle帳號登陸,設置oracle帳號的環境變量︰
$vi /home/oracle/.bash_profile,添加以下語句︰
export DISPLAY="192.168.0.2:0.0"
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export NLS_LANG=AMERICAN
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
<10>解壓cpio安裝包︰
#gunzip ship_9204_linux_disk1.cpio.gz
#gunzip ship_9204_linux_disk2.cpio.gz
#gunzip ship_9204_linux_disk3.cpio.gz
#cpio -idmv < ship_9204_linux_disk1.cpio
#cpio -idmv < ship_9204_linux_disk2.cpio
#cpio -idmv < ship_9204_linux_disk3.cpio
生成Disk1、Disk2、Disk3三個目錄
<11>安裝補丁p3006854_9204_LINUX.zip
#unzip p3006854_9204_LINUX.zip
#cd 3006854
#./rhel3_pre_install.sh
系統提示︰Applying patch...
Patch successfully applied
3.安裝Oracle9i數據庫軟件︰
#xhost +192.168.0.2 (本地IP地址)
(xhost disable訪問控制,客戶端可以從任何主機進行連接) 這個命令用來保證oracle用戶調用X11,否則無法安裝
<1>以oracle用戶登陸,
<2>執行︰
$./
<3> 按照OUI畫面提示一步步進行,但是只安裝數據庫軟件,不建數據庫
<4>可以很順利的安裝完畢,用命令dbca建立數據庫
$dbca
按照提示一步步進行,可以很順利的建立SID為ora9的數據庫!
<5>安裝補丁p3948480_9206_LINUX.zip
#unzip p3948480_9206_LINUX.zip
......
<6>若Oracle正在運行,要停止所有相關的服務。
$cd /opt/ora9/product/9.2/Apache/Apache/bin
$./apachectl stop
停止運行監听器LISTENER
$lsnrctl stop
<7>安裝新的OUI,執行
$./
<8>更新數據庫,按照以下順序執行sql腳本
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup migrate
SQL>spool /tmp/patchlog
SQL>@$ORACLE_HOME/rdbms/admin/catpatch.sql
SQL>spool off
SQL>shutdown
SQL>startup
SQL>spool /tmp/rp.log
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
SQL>spool off
SQL>shutdown
SQL>startup
SQL>exit
<9>啟動監听器
$lsnrctl start
<10>
客戶端可以正常使用Oracle。
<附錄> Oracle9i部分安裝故障及解決方法
1.安裝補丁p3006854
$./rhel3_pre_install.sh,出現以下錯誤提示︰
rhel3_pre_install.sh:line 36:gcc:command not found.
原因︰未安裝gcc.
解決辦法︰安裝gcc的rpm軟件包
2.發現一些指令不能使用了。如︰
#ls
ls:error while loading shared libraries:/etc/libcwair.so:cannot open object file:No such file or directory.
#rm /etc/etc/ld.so.preload
rm:error while loading shared libraries:/etc/libcwair.so:cannot open object file:No such file or directory.
不要退出bash,否則重新啟動機器後將不能進入Linux系統!你有可能要重新安裝Linux系統!
用以下方法來修復︰
#echo "" > /etc/ld.so.preload
#rm /etc/ld.so.preload
重啟機器即可。

