oracle9i 2.0.4上個月從oracle網站下載沒有安裝在els3上。
參考了網上的一些文章,并根據文章的提示找了一些資料和補丁,完成了這次的安裝。[@more@]
1.安裝RedHat EL3
現在的安裝界面都做的很好了,一路NEXT就可以安裝了.如果有困難,請參考其他linux安裝文檔進行.
注意:
需要安裝開發工具.
最好將開發工具包安裝全。
2.檢查補丁
需要確認以下包都已經安裝:
# rpm -qa | grep compat
compat-libstdc++-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-db-4.0.14-5
compat-gcc-7.3-2.96.122
# rpm -qa | grep openmotif
openmotif21-2.1.30-8
# rpm -qa | grep setarch
setarch-1.3-1
如果有包沒有安裝,使用
# rpm -i compat...i386.rpm
命令來安裝相應的包.
3.設置安裝環境
需要將gcc,g++更換為2.96版本的.
# cd /usr/bin
# mv gcc gcc323
# mv g++ g++323
# ln -s gcc296 gcc
#ln -s g++296 g++
確認版本正確
# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux7/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-122)
# g++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux7/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-122)
登錄為oracle用戶
# su – oracle
$
檢查環境變量
$ uname -a
Linux localhost.localdomain 2.4.21-4.EL #1 Fri Oct 3 18:13:58 EDT 2003 i686 i686 i386 GNU/Linux
$ rpm -qa | grep glibc
glibc-2.3.2-95.3
$ set | grep ORACLE
ORACLE_BASE=/app/oracle
ORACLE_HOME=/app/oracle/product/9.2.0.4.0
ORACLE_SID=oraapp
$ set | grep LD_ASSUME_KERNEL
LD_ASSUME_KERNEL=2.4.19
$
set 命令顯示的結果中,必須有 ORACLE_HOME.
注意:
如果不設置LD_ASSUME_KERNEL, 則不能啟動jre,也就不能啟動安裝界面.
4.從metalink下載必須的補丁
需要的補丁:
p3006854_9204_LINUX.zip 在運行 runInstaller 之前打.
p3095277_9204_LINUX.zip 的升級到9.2.0.4.0補丁包. 300多M
p2617419_210_GENERIC.zip 打3119415補丁所需要的補丁.
p3119415_9204_LINUX.zip 在升級到9.2.0.4.0之后打.
從9204升級到9.2.0.6的補丁,大約500多M
p3119415_9206_LINUX.zip升級到9.2.0.6后,要打得補丁。
說明: metalink上的文章說, 補丁 3119415在出現 ins_oemagent.mk link 錯誤時打,然后 retry. 經測試,安裝過程中,這個補丁打不上去,報 oraInventory/ContentsXML/comps.xml不存在. 需要在安裝完9204的補丁以后再打.
如何使用補丁, 請看后文.
5.開始安裝9.2.0
運行runInstaller之前,需要打補丁3006854: 注意,必須以root身份運行.
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
然后就可以運行runInstaller安裝了.注意選擇不要創建數據庫.
Relink階段,會出兩個錯誤:ins_oemagent.mk 和 ins_ctx.mk. 點 Ignore 忽略.
如果還有其他疑問,請參考其它安裝文章.
6.升級到9.2.0.4.0
安裝結束后,HTTPD會自動運行.在升級之前,需要將它停下來.
$ cd /u01/app/oracle/product/9.2.0.4.0/Apache/Apache/bin
$ ./apachectl stop
./apachectl stop: httpd stopped
LISTENER也需要停下來.
$ lsnrctl stop
LSNRCTL for Linux: Version 9.2.0.1.0 - Production on 07-NOV-2003 16:25:41
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
The command completed successfully
注意:
如果不停的話,oracle會抱怨不能覆蓋文件.這個時候再去將服務停下來也可以,點Retry就可以了.
然后就可以開始打補丁升級了.
解包:
$ unzip p3095277_9204_LINUX.zip
Archive: p3095277_9204_LINUX.zip
inflating: 9204_lnx32_release.cpio
inflating: README.html
inflating: patchnote.css
$ cat 9204_lnx32_release.cpio | cpio -i --make-directories
現在可以運行runInstaller升級了.
注意:
首先要升級oui,否則不讓升級到9.2.0.4.而且,升級完oui以后,要退出oui然后再重新運行oui,再升級到9.2.0.4.不退出繼續升級有什么問題,metalink沒有說,我也沒有做測試.
升級過程中,仍然會出現ins_oemagent.mk錯誤,點 Ignore 忽略. 但 ins_ctx.mk 錯誤已經被修復,不出現了.
7.打補丁
升級過后,需要打補丁修復ins_oemagent.mk錯誤.
首先安裝 opatch----p2617419_210_GENERIC.zip
主要產生Opatch這個應用文件。后續補丁的安裝需要這個文件。
$ unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
$ ls
$ pwd
/tmp/t
$ export PATH=$PATH:/tmp/t/OPatch:/sbin
注意:
修改PATH時,除了要包括解壓出來的OPatch目錄外,還要包括/sbin目錄.這一點,metalink上沒有說.
$ unzip p3119415_9204_LINUX.zip
Archive: p3119415_9204_LINUX.zip
creating: 3119415/
......
inflating: 3119415/README.txt
$ cd 3119415
$ opatch apply
就算安裝成功了.
8、安裝升級到9.2.0.6的升級文件
運行升級文件中的runInstaller文件
$./runInstaller
升級universal installer
升級universal installer成功后,退出installer。
重新運行runInstaller文件安裝9.2.0.6的升級文件
升級成功后,運行補丁包p3119415_9206_LINUX.zip
$unzip p3119415_9206_LINUX.zip
$cd 3119415
$Opatch apply
安裝補丁成功。
至此,oracle9i 從9.2.0.1.0 版本升級到9.2.0.6
9.運行dbca的問題.
在運行dbca, netca等圖形工具之前,需要設置LD_ASSUME_KERNEL=2.4.19,否則不能啟動JAVA.
剛才看筆記,發現漏了一個問題:
安裝完9.2.0以后,以root身份運行root.sh會報錯.不用管,升級到9.2.0.4以后,就沒有問題了