[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SYBASE12.5.2 FOR REDHAT AS4.0 安裝步驟(zt)Redhat
- Oracle 10g 在linux redhat as4 系統安裝圖解全過程Oracle 10gLinuxRedhat圖解
- redhat安裝dockerRedhatDocker
- RedHat上靜默安裝Oracle11gRedhatOracle
- 在Linux(Redhat/CentOS)下安裝MySQL之yum(rpm)線上安裝方式LinuxRedhatCentOSMySql
- Linux(01):RedHat 7.6 安裝LinuxRedhat
- centOS(同redhat)安裝 dockerCentOSRedhatDocker
- RedHat FC5安裝xmmsRedhat
- PostgreSQL:Redhat 8.5 + PostgreSQL 14.5 安裝SQLRedhat
- RedHat Advance Server上安裝Oracle 9204 RAC參考手冊(轉)RedhatServerOracle
- Redhat 7 下安裝達夢7Redhat
- RedHat 7.6作業系統安裝Redhat作業系統
- redhat 5.4下安裝MYSQL全過程RedhatMySql
- 安裝sybase12.5 for linux注意事項(zt)Linux
- redhat7.2靜默安裝Oracle11.2.0.4RedhatOracle
- redhat7.6安裝Oracle11G RACRedhatOracle
- 解決VMware安裝RedHat虛擬機器無法上網的問題Redhat虛擬機
- 在Linux(Redhat/CentOS)下安裝MySQL之yum(rpm)離線安裝方式LinuxRedhatCentOSMySql
- Centos7或RedHat7下安裝MysqlCentOSRedhatMySql
- redhat7.4下離線安裝MHA0.58Redhat
- Mac VirtualBox 7.0 下安裝Redhat 8.5虛擬機器MacRedhat虛擬機
- RedHat 7 靜默安裝Oracle11g的補充RedhatOracle
- Oracle:Redhat 7 + Oracle RAC 11g 安裝 bug 總結OracleRedhat
- RedHat7.4安裝在個人電腦(筆記本)中安裝遇到的問題總結Redhat筆記
- redhat 7.4安裝mysql 8.0.18 source code原始碼的一些思考RedhatMySql原始碼
- Vmware linux redhat6.4 安裝11g(11.2.0.1) 雙節點RACLinuxRedhat
- Python 開發環境搭建(02):Python 3.7 + Redhat 7 原始碼安裝Python開發環境Redhat原始碼
- [重慶思莊每日技術分享]-Redhat Linux 6.5安裝ORACLE ASMLIBRedhatLinuxOracleASM
- RedHat 7.7 平臺安裝19c(19.3) RAC 詳細操作過程Redhat
- linux 上安裝kapacitorLinux
- CentOS 上安裝 NginxCentOSNginx
- linux上安裝mysqlLinuxMySql
- Windows上安裝JDKWindowsJDK
- centos上安裝grafanaCentOSGrafana
- Linux上安裝gitLinuxGit
- linux上安裝ELKLinux
- Docker上安裝RedisDockerRedis
- linux上安裝mongodbLinuxMongoDB
- WINDOWS平臺上擴充套件SGA (zt)Windows套件