[zt] Redhat AS4上安裝64位Oracle9204
出處: http://yangtingkun.itpub.net/post/468/211768
第一次嘗試在REDHAT AS4上安裝64位Oracle,由於缺少資料且作業系統知識相對匱乏,導致安裝過程中錯誤頻繁出現,不過幸好透過兩天的不斷折騰,終於將Oracle安裝成功。這裡將安裝步驟簡單總結一下,儘量使後來人少走彎路。
這篇文件參考了Oracle9i for Linux x86-64的官方安裝文件,不過這篇文件中遺留的東西很多。另外還參考了metalink上的幾篇文件,這幾篇文章主要是介紹如何解決isqlplus連結失敗的。
下面就開始介紹安裝步驟,對於簡單的部分就不多做說明了:
首先檢查系統是否滿足安裝Oracle的要求,其實這個對於目前大部分的伺服器都是滿足的,不過為了完整起見,還是把Oracle的最低要求和檢查指令碼列出來:
512M以上記憶體;
1G以上交換空間;
/tmp目錄下400M以上空間。
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
# df -k /tmp
# grep "model name" /proc/cpuinfo
另外,需要保證Oracle的安裝目錄至少有超過2.5G的空間,才能保證企業版的正常安裝。
透過下面的指令碼檢查作業系統資訊
# more /etc/issue
# uname -a
下面透過rpm –qa來檢查作業系統是否已經包含了安裝Oracle所需要的包。由於沒有官方版的AS4所需的包的列表,我根據官方AS3所需列表將我的環境中對應的包列出,並將個人認為比較重要的放在前面。
kernel-2.6.9-42.EL
glibc-devel-2.3.4-2.25
glibc-2.3.4-2.25
gcc-3.4.6-3
gcc-c++-3.4.6-3
compat-libgcc-296-2.96-132.7.2
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
libstdc++-devel-3.4.6-3
libstdc++-3.4.6-3
make-3.80-6.EL4
gtk+-1.2.10-33
gnome-libs-1.4.1.2.90-44.1
tcp_wrappers-7.6-37.2
ORBit-0.5.17-14
libpng10-1.0.16-1
libungif-4.1.3-1.el4.2
imlib-1.9.13-23
setarch-1.6-1
libaio-0.3.105-2
audiofile-0.2.6-1.el4.1
esound-0.2.35-2
上面列出的包並不見得都是必須的,最後幾個包沒有的話,應該也可以安裝成功。不過根據Oracle官方文件的建議都加上肯定不會有問題。這裡要額外注意compat-libgcc-296-2.96-132.7.2這個包,這個包必須要加上,否則後面的安裝無法繼續進行。
下面需要修改一下系統的核心引數,具體的含義就不多解釋了,Oracle的推薦預設引數為:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
我只修改了kernel.shmmax引數,設定其大小超過我預計SGA的值。
將上面的核心引數新增到/etc/sysctl.conf檔案中。
完成設定後,重啟作業系統。透過/sbin/sysctl –p可以修改當前核心引數,不過如果系統可以重啟,還是透過這種方式比較保險。
下面為Oracle使用者設定程式數和開啟檔案數的限制:修改/etc/security/limits.conf檔案,將下面內容填入:
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
修改/etc/pam.d/login檔案,新增如下的內容:
session required /lib/security/pam_limits.so
這些操作完成之後,開始安裝的前期工作了,首先是建立Oracle帳戶:
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# mkdir -p /opt/oracle/product/9.2
# chown -R oracle.oinstall /opt/oracle
至此,root使用者的設定基本結束,可以切換到oracle使用者了。
# su - oracle
$ vi .bashrc
在oracle使用者的初始化指令碼中新增如下內容:
if [ $USER = "oracle" ]; then
ulimit -u 16384 -n 65536
fi
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2
export ORACLE_SID=testdb
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
export PATH=$ORACLE_HOME/bin:$PATH
export DISPLAY=172.25.6.201:0
export LD_ASSUME_KERNEL=2.4.1
其中上面設定程式和檔案的限制是Oracle推薦的。ORACLE_BASE、ORACLE_HOME、ORACLE_SID以及NLS_LANG的設定都需要根據個人的具體進行調整。DISPLAY變數設定的是我自己機器在區域網中的IP地址,這是方便我使用X-MANAGER進行圖形化操作的。
最需要注意的是LD_ASSUME_KERNEL的設定。首先Oracle的官方文件中並沒有包含這個變數的設定,但是如果不進行設定的話,那麼一會在安裝Oracle的時候,安裝到17%,提示複製檔案naeet.o的時候,整個安裝就停住了,這個時候即使點cancel按鈕都沒有用,只能將整個安裝視窗關閉。
Metalink上的文章倒是提到了對這個引數的設定,但是Metalink給出的建議設定是2.4.21。這個設定似乎對SuSE 8環境是有效的,但是對REDHAT AS4環境仍然沒有作用。從Metalink上的回覆看,也沒有看到對這個問題的進一步說明。
Oracle9204在REDHAT AS3上的安裝時,建議將這個變數設定為2.4.1,因此,我選擇了將這個變數也設定為2.4.1,在隨後的安裝過程中,上面提到的問題沒有再次出現。我估計將這個值設定的稍微大一些的話,也是可以的,我沒有進行具體的測試,如果有興趣,可以嘗試一下,看看這個值最大可以設定到多大。
設定好環境變數後,重新應用一下初始指令碼,保證設定的環境應用到當前使用者:
$ . .bashrc
如果是使用光碟介質,可以跳過下面的步驟,如果是下載的壓縮包,需要將壓縮包ftp到oracle使用者可以訪問的目錄下。解壓並展開:
$ gunzip amd64_db_9204_Disk1.cpio.gz
$ gunzip amd64_db_9204_Disk2.cpio.gz
$ gunzip amd64_db_9204_Disk3.cpio.gz
$ cpio -idcmv < amd64_db_9204_Disk1.cpio
$ cpio -idcmv < amd64_db_9204_Disk2.cpio
$ cpio -idcmv < amd64_db_9204_Disk3.cpio
展開檔案後,終於可以開始安裝了:
$ cd Disk1
$ . runInstaller
安裝開始沒有什麼值得說的,無非是點選幾個NEXT的,輸入使用者組oinstall,並根據提示在後臺使用root使用者執行/tmp/orainstRoot.sh指令碼。
隨後選擇安裝Oracle Database 9204,同時新增簡體中文語言,選擇企業版,並選擇定製資料庫配置。這些配置都可以根據個人的需求進行調整。
所有準備工作完成,點選install。
在安裝到88%的時候,會報錯,錯誤資訊如下:Error in invoking target install_isqlplus of makefile /opt/oracle/product/9.2/sqlplus/lib/ins_sqlplus.mk。
這是使用了64位的gcc編譯32位程式時出現的錯誤,這裡先點選ignore忽略錯誤,隨後我們在解決這個問題。
在安裝到98%的時候,會報和剛才類似的錯誤:Error in invoking target install of makefile /opt/oracle/product/9.2/rdbms/lib/ins_rdbms.mk,這裡也點選ignore忽略錯誤。
忽略了兩個錯誤後,安裝完成,這時候Oracle會但出一個對話方塊,要求使用者以root身份執行$ORACLE_HOME目錄下的一個root.sh指令碼。
我們先修正上面兩個錯誤,然後在執行這個指令碼。
修正這兩個錯誤是整個安裝過程中最麻煩的地方,參照metalink上的文章,我又反反覆覆摸索了四、五次才嘗試成功。
首先以root身份來到/usr/bin目錄下,檢視gcc*:
# cd /usr/bin
# ls -l gcc*
-rwxr-xr-x 2 root root 105392 May 24 07:46 gcc
-rwxr-xr-x 2 root root 94360 Dec 2 2004 gcc32
這時候我們需要編寫一個gcc296的指令碼,內容如下:
#!/bin/sh
exec /usr/bin/gcc32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ "$@"
注意,上述指令碼是metalink給出的,不過metalink給出的指令碼至少有3個問題,首先metalink上給出的gcc32錯誤拼寫成了gcc33,第二點metalink指令碼中包含了-m32,而這個編譯標誌在編譯上述兩個錯誤時是不需要的,當然metalink上有進一步的說明,不過還是容易使人誤導。第三點其實不是metalink指令碼的問題,而是這個指令碼太長了,導致指令碼最後的”$@”跑到了第三行,而實際上整個指令碼只有兩行。像我這樣對作業系統、shell指令碼語言以及gcc編譯不是很熟悉的人很容易在這裡出錯。
將上面給出的內容新增到gcc296中,然後修改gcc296的檔案屬性為755。
然後進行類似的操作編寫g++296的指令碼:
#!/bin/sh
exec /usr/bin/g++32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ "$@"
同樣,將g++296的指令碼的檔案屬性修改為755。
# chmod 755 gcc296
# chmod 755 g++296
下面根據gcc和g++的版本資訊,將gcc和g++重新命名。然後將gcc和g++分別指向gcc296和g++296。
# mv gcc gcc346
# mv g++ g++346
# ln -s -f gcc296 gcc
# ln -s -f g++296 g++
下面回到oracle使用者環境,重新編譯剛才出現錯誤的兩個物件:
透過/opt/oracle/product/9.2/install/make.log檔案,找到剛才出現錯誤的兩個物件,重新make:
# su - oracle
$ cd /opt/oracle/product/9.2/sqlplus/lib
$ /usr/bin/make -f ins_sqlplus.mk install_isqlplus ORACLE_HOME=/opt/oracle/product/9.2
$ cd /opt/oracle/product/9.2/rdbms/lib
$ make -f /opt/oracle/product/9.2/rdbms/lib/ins_rdbms.mk /opt/oracle/product/9.2/rdbms/lib/extproc32 EXTPROC=/opt/oracle/product/9.2/rdbms/lib/extproc32 LIBDIR=lib32 LDFLAGS='-m32 -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDPATHFLAG)$(LIBHOME)stubs/'
重新編譯後,回到root使用者,恢復剛才進行的操作:
$ exit
# rm -f gcc
# rm -f g++
# mv gcc346 gcc
# mv g++346 g++
# . /opt/oracle/product/9.2/root.sh
至此,Oracle9204的軟體部分安裝完畢。
建庫、配置listener等操作就沒有什麼可說的了,值得一提的是,建庫過程中安裝data mining的時候碰到了一個ORA-1031的錯誤,比較奇怪。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-571394/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql在redhat as4上的安裝過程MySqlRedhat
- redhat AS4 下MYSQL 5.0的安裝RedhatMySql
- REDHAT as5上安裝Oracle9204的失敗經歷RedhatOracle
- RedHat AS4 下安裝oracle10gRedhatOracle
- Redhat AS4 for x86_64上安裝Oracle 9204 RAC概述RedhatOracle
- RedHat Enterprise AS4 硬碟安裝心得(轉)Redhat硬碟
- oracle10g for redhat as4 安裝過程。OracleRedhat
- REDHAT AS4 kernel.sem設定參考(zt)Redhat
- zt: 在RedHat AS3上快速安裝Oracle10gRedhatS3Oracle
- RedHat Enterprise AS4硬碟安裝步驟(轉)Redhat硬碟
- pex+linux redhat as4自動安裝薦LinuxRedhat
- Redhat 5 上安裝yumRedhat
- oracle9204在redhat enterprise linux 5中安裝OracleRedhatLinux
- RedHat Advance Server上安裝Oracle 9204 RAC參考手冊(zt)RedhatServerOracle
- redhat as4 安裝oracle 9204 rac啟動Oracle Cluster Manager報錯!RedhatOracle
- 安裝Oracle10201 for REDHAT AS4 x86_64OracleRedhat
- SYBASE12.5.2 FOR REDHAT AS4.0 安裝步驟(zt)Redhat
- RHEL4-ASU2-i386上安裝oracle9204Oracle
- redhat as4 64位安裝oracle10.2.0.1建庫的時候報錯RedhatOracle
- Oracle 10g 在linux redhat as4 系統安裝圖解全過程Oracle 10gLinuxRedhat圖解
- oracle9204 在redhat 5中提示安裝成功,很多沒有安裝!啟動不了的解決辦法。OracleRedhat
- RedHat上靜默安裝Oracle11gRedhatOracle
- 【NinGoo】Redhat上安裝Perl DBD::mysql模組GoRedhatMySql
- 在Redhat 9上安裝 Oracle 817心(轉)RedhatOracle
- 升級VMWARE中REDHAT AS4核心Redhat
- redhat安裝dockerRedhatDocker
- 在Redhat 5.5 上安裝 Oracle 10R2RedhatOracle
- 在RedHat EL AS 3上安裝Oracle9.2.0(轉)RedhatOracle
- RedHat上SSH2的安裝和使用(轉)Redhat
- XAMPP安裝(zt)
- Linux AS4上安裝 OCFS2叢集檔案系統Linux
- zt_在redhat5.5上安裝websphere v6.1提示不支援作業系統_中介軟體RedhatWeb作業系統
- RedHat 7 安裝PHPRedhatPHP
- RedHat 7 安裝HTTPDRedhathttpd
- RedHat 7.4安裝DockerRedhatDocker
- RedHat 6 桌面安裝Redhat
- RedHat 5.1上安裝Oracle 10g 注意事項RedhatOracle 10g
- 在redhat上安裝dell伺服器診斷工具Redhat伺服器