Redhat7.2(7.1)下oracle8.17的安裝手冊(cè)
2024-08-29 13:46:03
供稿:網(wǎng)友
Redhat7.2(7.1)下Oracle8.17的安裝手冊(cè)
一. 軟件配置過程
1. 安裝glibc 2.1包
glibc2.1版本(GNU C Library,18M)下載地址:
FTP://ftp.kernel.org/pub/software/libs/glibc/hjl/sdk/2.1/i386-glibc-2.1-linux.tar.gz
下載后都放到了/backup目錄
從RedHat7.0以后的版本,安裝的是glibc2.2。Oracle 8I不能使用glibc 2.2進(jìn)行編譯,而需要glibc2.1的SDK。
#su - root
#cd /
#tar zxvf /backup/i386-glibc-2.1-linux.tar.gz
隱藏/usr/bin 目錄下的gcc,cc,ld,避免被Oracle installer使用
#cd /usr/bin
#mkdir saved
#mv gcc cc ld saved
#ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
#ln -s gcc cc
#ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
隱藏/usr/lib目錄下的libc.so,libdl.so,libm.so和libpthread.so文件,避免被Oracle installer使用
#cd ../lib
#mkdir saved
#mv libc.so libdl.so libm.so libpthread.so saved
#mv libc.a libdl.a libm.a libpthread.a saved
不要忘了安裝完成后把文件恢復(fù)回來(lái)。(不恢復(fù)也可以)。2. 創(chuàng)建用戶和組
以root用戶進(jìn)入系統(tǒng)
#groupadd sysdba
#groupadd sysoper
#groupadd oinstall
#useradd oracle –d /usr/oracle –g oinstall –G sysdba,sysoper
#passwd oracle
輸入oracle用戶口令,輸入二次。
#chmod 755 /usr/oracle
#cd /usr
#mkdir oraInventory
#chown oracle.oinstall oraInventory
3. 配置環(huán)境變量
以oracle用戶進(jìn)入系統(tǒng)
編輯注冊(cè)文件:
vi .bash_PRofile
在該文件最后添加:
DISPLAY=local:0.0
eXPort DISPLAY
ORACLE_BASE=/usr/oraInventory
export ORACLE_BASE
ORACLE_HOME=/usr/oracle
export ORACLE_HOME
ORACLE_SID=testdb
注重:ORACLE_SID在每個(gè)工程點(diǎn)都使用當(dāng)?shù)氐牡孛偌由闲蛱?hào)。例如,上面就是為杭州建立第一個(gè)系統(tǒng)使用的SID:hangzhou1。
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
export PATH
export LD_ASSUME_KERNEL=2.2.5
注重:只要小于2.4即可
編輯好文件后存儲(chǔ),退出系統(tǒng)。
4. 拷貝介質(zhì):
以oracle用戶進(jìn)入系統(tǒng),將包含Oracle V8.17的光盤放到光驅(qū)中,鍵入命令:
$mount /mnt/cdrom
$cp /mnt/cdrom/oracle.tar ./
注重:這里假定Oracle V8.17的文件名是oracle.tar
$tar xvf ./oracle.tar5. 安裝數(shù)據(jù)庫(kù)
在XWindows以oracle用戶進(jìn)入系統(tǒng),假如Xwindows沒有啟動(dòng),輸入命令:$startx以啟動(dòng)Xwindows.
在Xwindows中開出一個(gè)終端,輸入命令:
$cd Disk1
$./runInstaller
進(jìn)入安裝程序。
二、安裝過程1、runInstaller啟動(dòng)安裝界面
有的時(shí)候runInstaller,安裝界面不出來(lái),這主要還是因?yàn)镺racle的字符集設(shè)為了簡(jiǎn)體中文,但OS是英文的,所以有時(shí)候出不來(lái),用java寫的程序經(jīng)常出現(xiàn)字符集的問題。此時(shí)臨時(shí)銷毀$NLS_LANG變量,Java會(huì)用默認(rèn)的字符集,就好了。所以:
unset $NLS_LANG 也可以試試unset $LANG
× 其實(shí)dbassist也是有時(shí)候出不來(lái)的,這樣做就可以出來(lái)了,但是netasst始終出不了,不清楚為什么,不過可以自己修改lisener.ora和tnsnames.ora,所以netasst也不是必須的。另一個(gè)可能的原因就是glibc沒有替換好,我發(fā)現(xiàn)直到JDK1.3.1_01,才支持glibc2.2,之前的版本,包括JDK1.3.0都不支持glibc2.2,只要在glibc2.2下運(yùn)行,就會(huì)出現(xiàn)沒有任何反應(yīng),進(jìn)程似乎死亡了一樣的毛病,Oracle安裝程序用的還是JRE1.1.8,所以只要glibc用的還是2.2版的,安裝窗口總不會(huì)出來(lái)的。
2、下面一路點(diǎn)擊下一步,
在Unix Group Name: oinstall
提示在root用戶下運(yùn)行/usr/oracle/orainstRoot.sh,使用ALT-F1(或F2,F3等)進(jìn)入其他終端,以root用戶登入系統(tǒng),運(yùn)行該文件。然后使用ALT-F7返回安裝界面。
在Available ProdUCts: 選擇Oracle 8i Enterpise Edition 8.1.7.0.13. 到填寫安裝oracle軟件的屬組的時(shí)候,
Database Administaor Group: 填寫sysdba
Database Operator Group: 填寫sysoper
在Database Identification:
Global Database Name: TestDB就好了
SID:testdb,
在Database File Locations文件位置處:目的地址:/usr/oracle
開始拷貝文件。
然后提示用root運(yùn)行/usr/oracle/root.sh,以root登錄運(yùn)行。4、還是選擇安裝組件的列表這個(gè)界面,有個(gè)選擇語(yǔ)言的按鈕,增加“簡(jiǎn)體中文”5、詢問是否創(chuàng)建數(shù)據(jù)庫(kù),“是”,添上安裝數(shù)據(jù)庫(kù)的SID。數(shù)據(jù)庫(kù)數(shù)據(jù)文件的存放目錄,是“/usr/oracle“。6、開始安裝Oracle,安裝程序拷貝文件。
有很多人說,拷貝文件完后,聯(lián)接系統(tǒng)庫(kù)函數(shù)的時(shí)候,出現(xiàn)make錯(cuò)誤,我想這多半還是替換glibc不成功導(dǎo)致的吧,我安裝的時(shí)候確實(shí)沒有出現(xiàn)過這樣的問題。我想按照我寫的步驟來(lái),應(yīng)該不會(huì)出現(xiàn)這樣的問題的。7、自動(dòng)啟動(dòng)netasst,配置監(jiān)聽器,一般假如為了省事,選典型配置就可以了,只不過典型配置打開了一個(gè)2481端口,是JServer用的,假如不用JServer的話,也可以不要它,現(xiàn)在可以不用管它,回頭再改listener.ora好了。8、自動(dòng)啟動(dòng)dbassist,安裝數(shù)據(jù)庫(kù),按照提示做就是了,根據(jù)自己的情況可以適當(dāng)?shù)恼{(diào)整安裝數(shù)據(jù)庫(kù)時(shí)的參數(shù),最后開始創(chuàng)建數(shù)據(jù)庫(kù),此時(shí)也可以選擇先保存創(chuàng)建的腳本,再退出dbassist,單獨(dú)運(yùn)行創(chuàng)建腳本,這樣更靈活一些,可以自己改創(chuàng)建腳本,也可以自己研究一下腳本,會(huì)有收獲的。三、安裝后配置1、以root登錄,修改/etc/oratab,將最后的:
orcl:/u01/app/oracle/product/8.1.7:N
改為:
orcl:/u01/app/oracle/product/8.1.7:Y
這樣就可以用dbstart和dbshut來(lái)啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)了,不用自己寫腳本調(diào)svrmgrl。2、將數(shù)據(jù)庫(kù)啟動(dòng)命令和修改內(nèi)核命令放在系統(tǒng)啟動(dòng)腳本中(這一不可以不做)修改/etc/rc.d/rc.local,加入:#modify kernel parameter
echo 134217728 > /proc/sys/kernel/shmmax
echo -e "250 32000 100 128" > /proc/sys/kernel/sem#start Oracle8.1.7
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'我比較懶,沒有另外寫腳本聯(lián)接進(jìn)rc3.d,rc0.d.rc5.d,rc6.d了,而是直接放在rc.local中了,呵呵
注重的是修改內(nèi)核參數(shù)必須在啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例之前,啟動(dòng)數(shù)據(jù)庫(kù)后,用ipcs 命令看看共享內(nèi)存的使用情況,假如沒有分段就行了。另外一個(gè)非凡要說明的事情是一定要注重,凡是讀寫數(shù)據(jù)庫(kù)的進(jìn)程,必須取得oracle的環(huán)境變量,否則無(wú)法聯(lián)接數(shù)據(jù)庫(kù)。
上面的腳本中su - 中的這個(gè)"-"非常講究,它的意思是切換到oracle用戶,并取得oracle的環(huán)境變量。
再例如,假如還要啟動(dòng)apache來(lái)讀寫數(shù)據(jù)庫(kù)的話,rc.local加入的命令就一定要這樣寫:
#start apache httpd server
. /etc/profile
/usr/local/apache/bin/apachectl start因?yàn)槲野裲racle的環(huán)境變量放在/etc/profile里了,在啟動(dòng)apache之前要先強(qiáng)制它讀/etc/profile,取得oracle的環(huán)境變量,這樣apache的ServerAPI程序就可以讀寫數(shù)據(jù)庫(kù)了。3、修改Net8配置,可以用netca,或者自己修改$ORACLE_HOME/network/admin下的listener.ora和tnsnames.ora,netasst似乎出不來(lái)。4、假如創(chuàng)建第二個(gè)實(shí)例,用dbassist就好了,假如dbassist出不來(lái)的話,臨時(shí)銷毀$LANG,$NLS_LANG
unset $NLS_LANG
unset $LANG
就可以出來(lái)了。