oracle8i在redhat7.1~7.3下的安裝
2024-08-29 13:48:59
供稿:網友
Oracle 8i 在Redhat 7.1~7.3下安裝手冊
以下以linux7.3為例
1.預備工作:
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的話,前6個包都已經安裝,假如沒有請在Redhat 7.3的光盤里安裝。
接下來安裝glibc2.1包。Oracle 8i安裝時需要glibc2.1。由于Red Hat Linux 7.x及以上版本的glibc版本高于2.1版本,所以必須對glibc進行降級。否則在安裝時會出現錯誤,導致安裝失敗。以root賬號登錄,執行以下命令:
# 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,一定要裝,不要忘了,因為他和后來的ld有關,不安裝會出現ld:
unrecognized emulation mode: elf_i386_glibc21.的錯誤。
rpm -Uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm
當然裝完后假如你興奮可以把7.3的還原過來。
//*3).安裝Jdk1.1.8_v3到/usr/local,這個不用多說了
bunzip2 jdk118_v3.tar.bz2
tar -xvf jdk118_v3.tar
ln -s jdk118_v3 java
*/
3).安裝jdk(這里以jdk1.4.2為例,默認安裝到/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
安裝完后設置java環境
修改/etc/PRofile添加如下內容
#+ -----------------+
# 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).獲得補丁包--兩個Oracle的glibc-2.1.3-stubs.tar.gz,還有一個就是最最要害的,所有在Redhat 7.x下裝過Oracle
8.1.7的朋友都被97%的Linking Error搞得很惱火,這個包就是管這個Bug的,其實是一個文件--env_ctx.mk,怎么用,別急,一會告訴你。
5).預備用戶環境。
groupadd dba
groupadd oinstall //可選
useradd oracle -g oinstall -G dba
passwd oracle
輸入新用戶的密碼。
創建安裝目錄(以/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
退出系統,以新建的Oracle用戶登陸。
編輯/home/oracle目錄下的.bash_profile,添加以下內容:
#. /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
存盤退出,建議重新啟動,以防不測。
5.安裝Oracle 8.1.7
啟動安裝程序,
/mnt/cdrom/runinstaller(假如你是從光盤安裝的話)
出現以下安裝畫面:
點擊Next繼續
選擇安裝路徑,直接下一步。接下來會出現讓你添安裝組名-oinstall,然后以root用戶執行orainstRoot.sh,但我這里沒有出現,這是我已經安裝過,然后卸載,就免了這一步了。
選擇安裝產品,選第一個就可以,下一步出現以下畫面:
選擇安裝類型,這里選典型就可以,下一步選擇JDK HOME。
下一步,填入數據庫SID,這里是oracle8,
下一步,再下一步就出現安裝進度,安裝正式開始了。
你可以去休息一下,15分鐘后在回來,這時候你看到的應該是如下,錯誤!!!!
這就是env_ctx.mk的過錯,新開一個konsole窗口,把下載的env_ctx.mk copy 到$ORACLE_HOME/ctx/lib/目錄下,然后Retry。
安裝可以順利結束。
這時跳出窗口,要以Root身份運行root.sh
注重,Root.sh里有兩處錯誤:
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
完成以后點OK。出現net8配置窗口:
不要著急點下一步,新開一個konsole口,把下載下來的Oracle補丁包glibc-2.1.3-stubs.tar.gz,在$ORACLE_HOME下
tar -xvzf /tmp/glibc-2.1.3-stubs.tar.gz
然后運行,./setup_stubs.sh(也許是這個名),大約5分鐘后,一切OK了。返回安裝畫面,選種Perform typical configuration,下一步,
上圖為創建數據庫時
數據庫創建完成。
Oracle 數據庫安裝過程結束。
打開konsole窗口,運行sqlplus system/manager@oracle8,應該可以連接到數據庫。運行oemapp dbastudio,出現以下Oracle
DBA Studio。一切OK!
啟動和關閉腳本
1) 啟動腳本(dbstart)
#! /bin/bash
su - oracle<
. /home/oracle/.bash_profile
lsnrctl start
svrmgrl<
connect internal
startup
exit
EOE
exit
EOF
2) 關閉腳本(dbstop)
#! /bin/bash
su - oracle<
. /home/oracle/.bash_profile
lsnrctl stop
svrmgrl<
connect internal
shutdown immediate
exit
EOE
exit
EOF
然后賦可執行權限并拷貝到/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下正常運行了
注:在安裝過程中可能一切順利,不會出現文檔中出現的錯誤,那樣就可以跳過復制新的env_ctx.mk文件這部繼續往下做。