installing oracle 9ir2 on rhel as 3 step-by-step
作者: fenng
installing oracle 9ir2 on red hat enterprise linux advanced server 3 (rhel 3)
全球最大的 linux 廠商 red hat 公司 最近發(fā)布了red hat enterprise linux 3.該版本號稱有史以來最強(qiáng)大的開
源操作系統(tǒng),也被視為是當(dāng)前最為完整的 linux 企業(yè)級解決方案.得到了包括 oracle 在內(nèi)的眾多重量級廠商的積極響
應(yīng), 很多產(chǎn)品在該平臺上通過了認(rèn)證.oracle 9ir2自然也在此列. oracle 9i+ rhel3 會有什么樣的效果?可能很多技
術(shù)人員都很感興趣.心動(dòng)不如行動(dòng),不如馬上開始搭建自己的應(yīng)用環(huán) 境,親身感受一下.
配置redhat el3
操作系統(tǒng)描述:red hat enterprise linux as release 3 (taroon)
       kernel 2.4.21-4.el on an i686
安裝操作系統(tǒng)之后,應(yīng)該修改核心參數(shù).執(zhí)行如下參數(shù):
#echo "kernel.sem=/"250 32000 100 128/"" >> /etc/sysctl.conf
#echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf
第一條命令中的 250、32000、100、128 分別對應(yīng)semmsl、semmns、semopm、semmni這四個(gè)核心參數(shù). 
上面是典型的核心參數(shù)配置.您可能需要根據(jù)您的實(shí)際環(huán)境進(jìn)行適當(dāng)?shù)淖儎?dòng).
關(guān)于這些核心參數(shù)的說明在oracle的oracle9i installation guide release 2 (9.2.0.1.0) for unix systems
中有很詳細(xì)的說明.( http://download-west.oracle.com/docs/html/a96167_01/toc.htm ) 
然后,應(yīng)該檢查一下上面的操作是否正確:
# more /etc/sysctl.conf | grep kernel.s
kernel.sysrq = 0
kernel.shmmax=2147483648
kernel.sem="250 32000 100 128"
# 
檢查并安裝相關(guān)補(bǔ)丁 
在這個(gè)版本的rhel上安裝oracle,必須要有幾個(gè)軟件包(參考 metalink 上的 oracle note:252217.1) . 確認(rèn)以下
rpm包都已經(jīng)安裝: 
# rpm -qa | grep compat
compat-gcc-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
# rpm -qa | grep openmotif 
openmotif-2.2.2-16 
openmotif-devel-2.2.2-16
#openmotif-2.2.2-16 即可
# rpm -qa | grep setarch
setarch-1.3-1
上面顯示的內(nèi)容是在筆者已經(jīng)安裝了具體的rpm包之后的結(jié)果.一般情況下,你的系統(tǒng)上的輸出結(jié)果和這個(gè)不同.如果個(gè)
別包沒有安裝,把系統(tǒng)安裝光盤mount上,找到具體的軟件包(大多數(shù)在第三張光盤上),然后利用如下的命令來安裝相應(yīng)
的包:
# rpm -ivh compat.....rpm 
要額外注意的是,這些軟件包之間是有依賴性的,先后的順序要找好.否則會報(bào)告不能安裝的錯(cuò)誤.
還需要將gcc、g++更換為2.96的版本. (參考 metalink 上的 oracle note:252217.1 ) 
# mv /usr/bin/gcc /usr/bin/gcc323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# mv /usr/bin/g++ /usr/bin/g++323 
# ln -s /usr/bin/g++296 /usr/bin/g++
如果報(bào)告找不到文件,請確認(rèn)該軟件包是否安裝.
 
檢查環(huán)境變量 
這個(gè)版本的默認(rèn)的glibc 很合適.免去了不少麻煩.
登錄為oracle用戶 
# su – oracle 
$ cd 
$ vi .bash_profile
#添加如下內(nèi)容
#這個(gè)參數(shù)必須指定,否則java安裝界面無法啟動(dòng)
export ld_assume_kernel=2.4.1
export oracle_base=/u01/app/oracle 
export oracle_home=$oracle_home/product/9.2.0
export oracle_sid=demo 
export oracle_term=xterm
export ora_nls33=$oracle_home/ocommon/nls/admin/data
ld_library_path=$oracle_home/lib:/lib:/usr/lib
ld_library_path=$ld_library_path:/usr/local/lib
export ld_library_path
# set shell search paths
export path=$path:$oracle_home/bin
然后執(zhí)行 
$ source .bash_profile
使環(huán)境變量生效
對ld_assume_kernel環(huán)境變量的說明:
這個(gè)參數(shù)實(shí)際上是為了避免linux上的nptl(native posix thread library)和oracle應(yīng)用不兼容的問題. 設(shè)定
ld_assume_kernel為2.4.1表示使用舊有的 "linuxthreads with floating stacks" . (這里有對 floating 
stacks的大體上的解釋. ) 
從metalink ( http://metalink.oracle.com/ 需要csi )下載必須的補(bǔ)丁
需要的補(bǔ)丁: 
p3095277_9204_linux.zip 9.2.0.4.0的升級補(bǔ)丁包. 
p3006854_9204_linux.zip 在運(yùn)行 runinstaller 之前打. 
p3119415_9204_linux.zip 在升級到9.2.0.4.0之后打. 
p2617419_210_generic.zip 打3119415補(bǔ)丁所需要的. 
p3095277_9204_linux.zip大約有300多兆.如何快速下載metalink上的補(bǔ)丁?請參考這個(gè)link:
http://www.ncn.cn/oracle/tips/oratip009.htm
后面的三個(gè)比較小.可以在 itpub 下載:
http://www.itpub.net/showthread.php?s=&threadid=171693&perpage=15&pagenumber=1 
唉,又是補(bǔ)丁,安裝可算是比較費(fèi)周折的了,不知道oracle的工程師是不是每次安裝也會感到麻煩.
開始安裝9.2.0 
運(yùn)行runinstaller之前,需要打補(bǔ)丁3006854: 注意,必須以root身份運(yùn)行. 
# unzip p3006854_9204_linux.zip 
會在當(dāng)前目錄下創(chuàng)建一個(gè)目錄,進(jìn)入到該目錄中
# cd 3006854 
# ./rhel3_pre_install.sh 
如果報(bào)告如下錯(cuò)誤:
-bash: ./rhel3_pre_install.sh: permission denied
修改一下權(quán)限就可以了
# chmod +x *.sh
然后就可以運(yùn)行runinstaller安裝. 操作過程不再贅述.
但是relink 階段,會報(bào)告兩個(gè)錯(cuò)誤:ins_oemagent.mk 和 ins_ctx.mk. 點(diǎn) ignore 忽略.要升級到9.2.0.4的版本才
可以修復(fù)這兩個(gè)bug.
升級到9.2.0.4.0 
安裝結(jié)束后,需要停掉oracle的所有相關(guān)程序. 最好命令都執(zhí)行完之后再用 ipcs 命令確認(rèn)一下.然后就可以開始打補(bǔ)丁
升級了.
解包: 
$ unzip p3095277_9204_linux.zip 
$ cpio -icvd < 9204_lnx32_release.cpio
現(xiàn)在可以再次運(yùn)行runinstaller,在oui的界面中找到patch的stage文件,然后即可以進(jìn)行升級.
注意: 
首先要升級oui,否則不讓升級到9.2.0.4.而且,升級完oui以后,要退出oui然后再重新運(yùn)行oui, 再升級到9.2.0.4.不退出
繼續(xù)升級會報(bào)告錯(cuò)誤.升級過程中,仍然會出現(xiàn)ins_oemagent.mk錯(cuò)誤,點(diǎn) ignore 忽略.我們將在下一個(gè)步驟中修復(fù)該
錯(cuò)誤.
再次打補(bǔ)丁 
升級過后,需要打補(bǔ)丁修復(fù)ins_oemagent.mk錯(cuò)誤. 
首先安裝 opatch. 
$ unzip p2617419_210_generic.zip 
$ pwd
/u01/install
$ export path=$path:/u/install/3119415:/sbin 
注意: 
修改path時(shí),除了要包括解壓出來的opatch目錄外,還要包括/sbin目錄,這樣才可以找到 fuser命令.而fuser命令也是
該補(bǔ)丁過程所需要的.
$ unzip p3119415_9204_linux.zip 
archive: p3119415_9204_linux.zip 
creating: 3119415/ 
...... 
inflating: 3119415/readme.txt 
$ cd 3119415 
$ opatch apply 
運(yùn)行dbca的問題. 
$ dbca 
會正常出現(xiàn)圖形界面,然后可以選擇創(chuàng)建數(shù)據(jù)庫,但是最后一步莫名其妙的界面消失.在命令行出現(xiàn)如下錯(cuò)誤:
/oracle/product/9.2.0.1/bin/dbca: line 124: 27348 killed $jre_dir/bin/jre -doracle_home=
$oh -djdbc_protocol=thin -mx64m -classpath $classpath
oracle.sysman.assistants.dbca.dbca $arguments 
要解決這個(gè)問題:
$vi $oracle_home/bin/dbca 
#將下面列出的除第3 行外的其余行注釋掉.
#if [ -f /etc/rac_on ]; then 
#run dbca 
$jre_dir/bin/jre –native –doracle_home=$oh…… 
#else 
#run dbca 
#$jre_dir/bin/jre –doracle_home=$oh…… 
#fi 
參考信息
werner puschitz 的 installing oracle9i on red hat linux 
pondka的 在redhat el as 3上安裝oracle9.2.0 
linux: native posix threading library (nptl) / ( http://people.redhat.com/drepper/nptl-design.pdf )
google 新聞組上對 dbca 那個(gè)錯(cuò)誤的解決辦法 
oracle9i installation guide release 2 (9.2.0.1.0) for unix systems
原文出處:
<a >http://www.dbanotes.net/oracle/install-oracle9ir2-rhel3.htm</a>