Enterprise Linux 5上安裝64位Oracle9204的失敗經歷

yangtingkun發表於2007-12-26

為了搭一個測試用的9i資料庫,找了一臺DELL6850,安裝上最新的Oracle Enterprise Linux 5,準備開始安裝。

由於前一段時間發現4update 4以前對4CPU支援有問題,而手頭又沒有4的最新更新版,因此選擇了Enterprise Linux 5。由於是Oracle自己的作業系統,對Oracle資料庫的支援肯定是最好的,因此也沒有多想。

正是這裡沒有去驗證,造成了這次失敗的經歷。


首先仍然是檢查一下硬體和系統情況,其實這個檢查有點多餘,9i對配置的要求本來就比較低,何況伺服器還是DELL6850

[root@bjtest ~]# grep MemTotal /proc/meminfo
MemTotal: 16418944 kB
[root@bjtest ~]# grep SwapTotal /proc/meminfo
SwapTotal: 8385888 kB
[root@bjtest ~]# df -k /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 20315812 176280 19090892 1% /tmp
[root@bjtest ~]# grep "model name" /proc/cpuinfo
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
model name : Intel(R) Xeon(TM) CPU 3.00GHz
[root@bjtest ~]# df -k /data
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda7 1023246840 204268 970226076 1% /data
[root@bjtest ~]# more /etc/issue
Enterprise Linux Enterprise Linux Server release 5 (Carthage)
Kernel r on an m

[root@bjtest ~]# uname -a
Linux bjtest 2.6.18-8.el5xen #1 SMP Tue Jun 5 23:53:34 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

下面檢查所需的包,由於9iEnterprise linux 5早得多,沒有官方的安裝包描述。因此根據AS3上所需的安裝包檢查下面的包是否存在:

kernel-2.6.18-8.el5
glibc-devel-2.5-12
glibc-2.5-12
gcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
compat-gcc-34-3.4.6-4
compat-gcc-34-c++-3.4.6-4
libstdc++-devel-4.1.1-52.el5
libstdc++-4.1.1-52.el5
make-3.81-1.1
gtk2-2.10.4-16.el5
tcp_wrappers-7.6-40.2.1
ORBit2-2.14.3-4.el5
libpng-1.2.10-7
setarch-2.0-1.1
libaio-0.3.106-3.2
audiofile-0.2.6-5
esound-0.2.36-3
libXp-1.0.0-8.i386.rpm

檢查一下系統的/etc/sysctl.conf設定,一般來說,Oracle給出的預設設定足夠,不用修改,如果修改的話,需要重啟系統使之生效。

下面為Oracle使用者設定程式數和開啟檔案數的限制:修改/etc/security/limits.conf檔案,將下面內容填入:

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

下面建立Oracle使用者:

[root@bjtest ~]# groupadd oinstall
[root@bjtest ~]# groupadd dba
[root@bjtest ~]# useradd -g oinstall -G dba oracle
[root@bjtest ~]# passwd oracle
[root@bjtest ~]# mkdir -p /data/oracle/product/9.2
[root@bjtest ~]# chown -R oracle.oinstall /data

切換到oracle使用者,在初始化指令碼中新增下面內容:

export ORACLE_BASE=/data/oracle
export ORACLE_HOME=/data/oracle/product/9.2
export ORACLE_SID=bjtest
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
export PATH=$ORACLE_HOME/bin:$PATH
export DISPLAY=172.25.198.230:1

下面可以使用圖形化介面開始安裝。

到了這個時候,問題終於暴露出來了,碰到了在AS4上安裝64Oracle9204時出現的錯誤:在安裝Oracle的時候,安裝到17%,提示複製檔案naeet.o的時候,整個安裝就停住了。根據在AS4上的安裝經驗,需要在使用者環境變數中設定LD_ASSUME_KERNEL=2.4.1

不過設定這個引數後,不只是Oracle的安裝程式無法啟動,就是一個簡單的ls命令都會報錯:

[oracle@bjtest ~]$ export LD_ASSUME_KERNEL=2.4.1
[oracle@bjtest ~]$ ls
ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory

看來這種方法在Enterprise Linux 5中已經行不通了。別說2.4.1,就是將KERNEL設定為2.6.1都會報上面的錯誤。

想了不少變通的方法,但是沒有一個有效的。如果載入共享庫不報錯的話,就會導致安裝Oracle的時候在17%的位置死掉。

難道沒有方法在Enterprise Linux 5上安裝9i,嘗試在metalink上尋找類似的問題和解決方法,未果。

最後才想起來,檢查一下Oracle的產品在不同平臺的支援情況,結果發現Enterprise Linux 5Red Hat Enterprise Linux 5根本就不支援9i

實在沒有辦法,只好找了一個AS4上的64Oracle9204,將整個ORACLE_HOME目錄tarEnterprise Linux 5上。然後啟動dbca在本地建庫。

[oracle@bjtest ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 12 24 18:03:24 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

連線到:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit
Production PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production

SQL>

看來Oracle只是在安裝過程中對KERNEL有限制,對資料庫的使用則沒有限制。

不過,這種方法實在不能叫做安裝,Oracle既然宣告不支援,那麼在使用過程中也很可能會遇到未知的問題。

對於正式環境,不要採用類似的方法,還是應該選擇Oracle支援的環境。

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

相關文章