Oracle9i 9024安裝手冊(LinuxAS3.0) (ZT)

tolywang發表於2007-07-26
1、從網上下載redhat Enterprise Linux Advanced Server3的四個安裝檔案,安裝時swap分割槽設定為記憶體的二倍。不要採用DHCP設定主機名和IP地址,而是“手工設定”。否則會在安裝oracle的時候出現如下錯誤:
[quote:864939f94a]Thrown when the IP address of a host cannot be determined[/quote:864939f94a]
出現這個錯誤將使Oracle不能安裝成功。安裝RHAS3,可以燒錄到光碟安裝,也可以從硬碟安裝,從硬碟安裝RHAS3,請參考:[url][/url]


2、系統要求:記憶體最低256(我的就是這麼大),建議512M,硬碟空間4G,如果Oracle安裝檔案存在硬碟,建議5G(在安裝作業系統後的剩餘空間)。
可以檢視記憶體的大小,用到的命令是:grep MemTotal /proc/meminfo
swap分割槽在安裝作業系統的時候就設定好了,為記憶體的2倍,當記憶體達到1G以上時,和記憶體大小相同就可以了啊。相看交換分割槽命令是:/sbin/swapon -s
3、檢查是否安裝以下包:
[quote:864939f94a]#su - root
#rpm -qa|grep compat
compat-db-4.0.14-5.i386
compat-gcc-7.3-2.96.122.i386
compat-gcc-c++-7.3-2.96.122.i386
compat-libstdc++-7.3-2.96.122.i386
compat-libstdc++-devel-7.3-2.96.122.i386
#rpm -qa|grep openmotif21
openmotif21-2.1.30-8.i386
#rpm -qa|grep setarch
setarch-1.3-1.i386
#rpm -qa|grep tcl
tcl-8.3.5-92.i386
[/quote:864939f94a]
上面顯示的內容是在筆者已經安裝了具體的RPM包之後的結果。它們對應的軟體包是:[quote:864939f94a]
compat-db-4.0.14-5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm
[/quote:864939f94a]
一般情況下,你的系統上的輸出結果和這個不同。如果個別包沒有安裝,把系統安裝光碟mount上,找到具體的軟體包(大多數在第三張光碟上),然後利用如下的命令來安裝相應的包:
# rpm -ivh compat.....rpm
因為我沒有把RHAS3燒錄到光碟,所以我用下面的命令來掛載iso檔案
[quote:864939f94a]mount -o loop /mnt/e/rhas3/rhel-3-i386-as-disc3.iso /mnt/cdrom[/quote:864939f94a]
要額外注意的是,這些軟體包之間是有依賴性的,先後的順序要找好。否則會報告不能安裝的錯誤。在安裝軟體包的時候,如果出現軟體包的依賴性,就先安裝有有依賴的包。我相信大家會看明白軟體包之間的依賴性的。
還需要將gcc、g++更換為2.96的版本.
方法如下:
[quote:864939f94a]#su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn't exist, then gcc-c++ was not installed(這裡是註釋哦)
ln -s /usr/bin/g++296 /usr/bin/g++
[/quote:864939f94a]
3、設定核心引數:
這個版本的預設的glibc 很合適,免去了不少麻煩。
用grep MemTotal /proc/meminfo檢視記憶體總量
出現 MemTotal XXXXXKB,其中的XXXXX就是記憶體總量。
修改兩個檔案,如下:
[quote:864939f94a]
#vi /etc/sysctl.conf
加入:
kernel.shmmax = xxxxx*1024*2(為記憶體的2倍,切換到位元組。要是超過這個值,在執行dbca時會出現Ora-27123:Unable to attach to shared memeroy segment)
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
#vi /etc/security/limits.conf
加入:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384
[/quote:864939f94a]
4、建立使用者、設定環境變數
建立使用者的命令是以root使用者執行的。
[quote:864939f94a]#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
[/quote:864939f94a]
設定環境變數:
以oracle使用者登入,
[quote:864939f94a]vi $HOME/.bash_profile
插入下面的內容
# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
# for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.1

# Oracle Environment
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
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
[/quote:864939f94a]
然後登出重新登入,用set|more檢視環境變數是否生效。因為我把Oracle安裝在了oracle使用者主目錄下,所以我的ORACLE_BASE值為/home/oracle,當然你也可以安裝到指定的目錄,如下:
[quote:864939f94a]#su - root
#mkdir /opt/oracle
#mkdir /opt/oracle/product
#mkdir /opt/oracle/product/9.2.0
#chown -R oracle.oinstall /opt/oracle

#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle
[/quote:864939f94a]
這時ORACLE_BASE的值就是/opt/oracle。
5、開始安裝
從[url][/url]下載三個安裝檔案,
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
用zcat ship_9204_linux_disk1.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk2.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk3.cpio.gz|cpio -idmv
生成三個資料夾Disk1,Disk2,Disk3;
你也可以用gunzip ship_9204_linux_disk1.cpio.gz
cpio -idmv 這樣的命令來生成三個目錄,可以用下面的命令燒錄到光碟,也可以儲存在硬碟。[quote:864939f94a]
mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=15 -
[/quote:864939f94a]
進入Disk1目錄執行runInstaller之前,注意兩點:
a、export LANG=en_us(否則安裝介面出來就會出現“□”,因為Oracle9i不支援中文介面。)
b、安裝p3006854_9204_LINUX.zip補丁,否則會出現如下錯誤:
[quote:864939f94a]Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
[/quote:864939f94a]
從[url][/url]下載p3006854_9204_LINUX.zip補丁。安裝此補丁的方法:[quote:864939f94a]
su - 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
Applying patch...
Patch successfully applied
#
注意:如果執行 rhel3_pre_install.sh出現下面的錯誤
rhel3_pre_install.sh: line 36: gcc: command not found
是因為你忘了安裝gcc,同樣要是出現下面的錯誤:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
#
請不要退出bash,用下面的方法來修復(我開始遇到,後來沒有遇到了,可能是因為我把gcc降級到了296吧)
# echo "" > /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.
[/quote:864939f94a]

現在執行./runInstaller &(必須進入到Disk1目錄,或者從光碟執行,從光碟安裝不要進入/mnt/cdrom後執行runInstaller,而是這樣執行./mnt/cdrom/runInstaller)
  呵呵,高興了吧,期待以久的GUI介面終於出來了啊。這是歡迎介面。顯示了Oracle安裝的原始檔所在目錄,還有要安裝到的產品目錄。我們點“Next”;
接著出現的下一個介面是Inventory路徑,我們點“Next”;
  現在要求使用者輸入UNIX組名,我們用Oracle使用者所在的組“oinstall”,然後點“Next”,如果你是第一次安裝Oracle產品,則要你執行一個sh檔案。檔案是/tmp/orainstRoot.sh,我們開啟一個shell視窗,切換到root使用者,如下:
[quote:864939f94a]su root
sh /tmp/orainstRoot.sh
[/quote:864939f94a]
執行完畢我們返回Oracle安裝介面,點“Continue”;
  選擇檔案存放的目錄,我們選擇預設值。然後“Next”;
  安裝的產品是“Oracle9i Database 9.2.0.4.0”,點“Next”;
  選擇安裝型別是“通用”,預設選項。點“Next”;
  輸入全域性資料庫名,然後“Next”;
  資料檔案的存放位置,我採用的是預設位置,點“Next”;
  出現安裝元件的選擇結果,這時點“Install”,開始安裝,複製檔案,進度條在一點一點的增加,當安裝並link完後,出現配置工具介面,agent服務不能配置成功,忽略不用管,在下面修復。DBCA,NETCA,HTTP都正確配置完畢哦。呵呵。下面開始修復錯誤。其實要是把各個介面抓取下來就更好了。
6、安裝p3238244_9204_LINUX.zip補丁
此補丁也是從[url][/url]下下載,同時要下載一個opatch軟體包:p2617419_220_GENERIC.zip,它主要是用來悠agent服務不能啟動的錯誤。
過程如下:[quote:864939f94a]su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ opatch apply
[/quote:864939f94a]補丁修復完成,需要relinked一個.mk檔案。
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
現在在執行agentctl start,看是不是可以成功執行agent服務了啊,可以用stop、status來停止此服務或者檢查服務的狀態。
在這個成功之後,居然不能啟動Oracle,說是不能找到初始化檔案,沒辦法,我用dbca先刪除了原來安裝時建立的庫,再重新建立了資料庫。
7、執行dbca來建立資料庫。呵呵,一路暢通,完成資料庫的安裝。
希望你也能成功安裝。

[b:864939f94a]後記:我想在各個版本的LINUX上安裝Oracle的各版本,思路和步驟都大體相同,但是更要注意那些微小的差別,也許可能就是這些微小的差別將使你無法成功的安裝。建議各位多到Oracle的網部去看看,多上網找些資料來對比著學習學習。工想你肯定會成功的。祝願熱愛Oracle和Linux的朋友都能成功。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84822/,如需轉載,請註明出處,否則將追究法律責任。

相關文章