oracle8i在redhat7.1~7.3下的安裝
2024-08-29 13:31:25
供稿:網(wǎng)友
注冊(cè)會(huì)員,創(chuàng)建你的web開(kāi)發(fā)資料庫(kù),
oracle 8i 在redhat 7.1~7.3下安裝手冊(cè)
以下以linux7.3為例
1.準(zhǔn)備工作:
1).軟件清單:
compat-egcs-6.2-1.1.2.16.i386.rpm
compat-egcs-c++-6.2-1.1.2.16.i386.rpm
compat-egcs-objc-6.2-1.1.2.16.i386.rpm
compat-glibc-6.2-2.1.3.2.i386.rpm
compat-libs-6.2-3.i386.rpm
compat-libstdc++-6.2-2.9.0.16.i386.rpm
binutils-2.10.91.0.2-3.i386.rpm
glibc-2.1.3-stubs.tar.gz
i386-glibc-2.1-linux.tar.gz
j2sdk-1_4_2_05-linux-i586-rpm.bin
linux81701.tar
如果你是完全安裝redhat 7.3的話(huà),前6個(gè)包都已經(jīng)安裝,如果沒(méi)有請(qǐng)?jiān)趓edhat 7.3的光盤(pán)里安裝。
接下來(lái)安裝glibc2.1包。oracle 8i安裝時(shí)需要glibc2.1。由于red hat linux 7.x及以上版本的glibc版本高于2.1版本,所以必須對(duì)glibc進(jìn)行降級(jí)。否則在安裝時(shí)會(huì)出現(xiàn)錯(cuò)誤,導(dǎo)致安裝失敗。以root賬號(hào)登錄,執(zhí)行以下命令:
# cd /
#tar zxvf i386-glibc-2.1-linux.tar.gz
隱藏/usr/bin目錄下的gcc、cc、ld,避免被oracle installer使用,代碼如下:
# cd /usr/bin
# mkdir mysaved
# mv gcc cc ld mysaved
# 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 /usr/lib
# mkdir mysaved
# mv libc.so libdl.so libm.so libpthread.so mysaved
# mv libc.a libdl.a libm.a libpthread.a mysaved
2).安裝binutils-2.10.91.0.2-3.i386.rpm,一定要裝,不要忘了,因?yàn)樗秃髞?lái)的ld有關(guān),不安裝會(huì)出現(xiàn)ld:
unrecognized emulation mode: elf_i386_glibc21.的錯(cuò)誤。
rpm -uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm
當(dāng)然裝完后如果你高興可以把7.3的還原過(guò)來(lái)。
//*3).安裝jdk1.1.8_v3到/usr/local,這個(gè)不用多說(shuō)了
bunzip2 jdk118_v3.tar.bz2
tar -xvf jdk118_v3.tar
ln -s jdk118_v3 java
*/
3).安裝jdk(這里以jdk1.4.2為例,默認(rèn)安裝到/usr/下)
chmod +x j2sdk-1_4_2_05-linux-i586-rpm.bin
./ j2sdk-1_4_2_05-linux-i586-rpm.bin
rpm –ivh j2sdk-1_4_2_05-linux-i586-rpm
ln –s /usr/j2sdk-1_4_2_05 /usr/local/java
安裝完后設(shè)置java環(huán)境
修改/etc/profile添加如下內(nèi)容
#+ -----------------+
# |java environment|
#+------------------+
java_home=/usr/local/java
classpath=$java_home/lib/dt.jar:$java_home/lib/jaxp.jar:$java_home/lib/tools.jar:$java_home/lib
path=$path:$java_home/bin
4).獲得補(bǔ)丁包--兩個(gè)oracle的glibc-2.1.3-stubs.tar.gz,還有一個(gè)就是最最關(guān)鍵的,所有在redhat 7.x下裝過(guò)oracle
8.1.7的朋友都被97%的linking error搞得很惱火,這個(gè)包就是管這個(gè)bug的,其實(shí)是一個(gè)文件--env_ctx.mk,怎么用,別急,一會(huì)告訴你。
5).準(zhǔn)備用戶(hù)環(huán)境。
groupadd dba
groupadd oinstall //可選
useradd oracle -g oinstall -g dba
passwd oracle
輸入新用戶(hù)的密碼。
創(chuàng)建安裝目錄(以/usr/local/oracle為例)
mkdir /usr/local/oracle
mkdir /usr/local/oracle/product
mkdir /usr/local/oracle/product/8.1.7
chown –r oracle.dba /usr/local/oracle
chmod –r 775 /usr/local/oracle
mkdir /var/opt/oracle
chown –r oracle.dba /var/opt/oracle
chown -775 /var/opt/oracle
退出系統(tǒng),以新建的oracle用戶(hù)登陸。
編輯/home/oracle目錄下的.bash_profile,添加以下內(nèi)容:
#. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
# +--------------------------+
# | setup oracle environment |
# +--------------------------+
oracle_base=/usr/local/oracle
oracle_home=/usr/local/oracle/product/8.1.7
oracle_sid=oracle8
oracle_term=eterm
#nls_lang=american.america.zhs16gbk
ora_nls33=$oracle_home/ocommon/nls/admin/data
ld_library_path=$oracle_home/lib:/lib:/usr/lib:/usr/local/lib
classpath=$classpath:$oracle_home/jdbc/lib/classes12.zip:$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib:$oracle_home/network/jlib
display=192.168.0.125:0.0
# +--------------------------+
# | linux stuff |
# +--------------------------+ z
export gcc_exec_prefix=/usr/i386-glibc21-linux/lib/gcc-lib/
export ld_assume_kernel=2.2.5
export ldemulation=elf_i386_glibc21
path=$path:$oracle_home/bin:/usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin
export oracle_base oracle_home oracle_sid oracle_term ora_nls33 ld_library_path path classpath display
umask 022
存盤(pán)退出,建議重新啟動(dòng),以防不測(cè)。
5.安裝oracle 8.1.7
啟動(dòng)安裝程序,
/mnt/cdrom/runinstaller(如果你是從光盤(pán)安裝的話(huà))
出現(xiàn)以下安裝畫(huà)面:
點(diǎn)擊next繼續(xù)
選擇安裝路徑,直接下一步。接下來(lái)會(huì)出現(xiàn)讓你添安裝組名-oinstall,然后以root用戶(hù)執(zhí)行orainstroot.sh,但我這里沒(méi)有出現(xiàn),這是我已經(jīng)安裝過(guò),然后卸載,就免了這一步了。
選擇安裝產(chǎn)品,選第一個(gè)就可以,下一步出現(xiàn)以下畫(huà)面:
選擇安裝類(lèi)型,這里選典型就可以,下一步選擇jdk home。
下一步,填入數(shù)據(jù)庫(kù)sid,這里是oracle8,
下一步,再下一步就出現(xiàn)安裝進(jìn)度,安裝正式開(kāi)始了。
你可以去休息一下,15分鐘后在回來(lái),這時(shí)候你看到的應(yīng)該是如下,錯(cuò)誤!!!!
這就是env_ctx.mk的過(guò)錯(cuò),新開(kāi)一個(gè)konsole窗口,把下載的env_ctx.mk copy 到$oracle_home/ctx/lib/目錄下,然后retry。
安裝可以順利結(jié)束。這時(shí)跳出窗口,要以root身份運(yùn)行root.sh
注意,root.sh里有兩處錯(cuò)誤:
rmf=/bin/rm -f
修改為
rmf="/bin/rm -f"
ruid=`/usr/bin/id|$awk -f( '{print $2}'|$awk -f) '{print $1}`
修改為
ruid=`/usr/bin/id|$awk -f( '{print $2}'|$awk -f) '{print $1}'`
或者下載模板root.sh
完成以后點(diǎn)ok。出現(xiàn)net8配置窗口:
不要著急點(diǎn)下一步,新開(kāi)一個(gè)konsole口,把下載下來(lái)的oracle補(bǔ)丁包glibc-2.1.3-stubs.tar.gz,在$oracle_home下
tar -xvzf /tmp/glibc-2.1.3-stubs.tar.gz
然后運(yùn)行,./setup_stubs.sh(也許是這個(gè)名),大約5分鐘后,一切ok了。返回安裝畫(huà)面,選種perform typical configuration,下一步,
上圖為創(chuàng)建數(shù)據(jù)庫(kù)時(shí)
數(shù)據(jù)庫(kù)創(chuàng)建完成。
oracle 數(shù)據(jù)庫(kù)安裝過(guò)程結(jié)束。
打開(kāi)konsole窗口,運(yùn)行sqlplus system/[email protected],應(yīng)該可以連接到數(shù)據(jù)庫(kù)。運(yùn)行oemapp dbastudio,出現(xiàn)以下oracle
dba studio。一切ok!
啟動(dòng)和關(guān)閉腳本
1) 啟動(dòng)腳本(dbstart)
#! /bin/bash
su - oracle<
. /home/oracle/.bash_profile
lsnrctl start
svrmgrl<
connect internal
startup
exit
eoe
exit
eof
2) 關(guān)閉腳本(dbstop)
#! /bin/bash
su - oracle<
. /home/oracle/.bash_profile
lsnrctl stop
svrmgrl<
connect internal
shutdown immediate
exit
eoe
exit
eof
然后賦可執(zhí)行權(quán)限并拷貝到/etc/init.d下
chmod +x dbstart
chmod +x dbstop
在做連接
ln –s /etc/init.d/dbstart /etc/rc3.d/s99dbstart
ln –s /etc/init.d/dbstop /etc/rc0.d/k10dbstop
到此oracle就可以在linux下正常運(yùn)行了
注:在安裝過(guò)程中可能一切順利,不會(huì)出現(xiàn)文檔中出現(xiàn)的錯(cuò)誤,那樣就可以跳過(guò)復(fù)制新的env_ctx.mk文件這部繼續(xù)往下做。