高版本Linux上快速(15分鐘)安裝oracle 817(如fedora core 3)
本文試驗環境:IBM thinkPad r50 fedora core 3
HP 6000主機,redhat linux 7.2.,rehat linux 9
您遇到過高版本linux上安裝oracle817的麻煩嗎?您是否對網上找到的長達20頁的安裝文檔感到心寒呢?別急,看了本文保證你在半個小時內搞定高版本linux上的安裝,那麼我們開始吧。。。
本文受前段時間在windows上安裝oracle的啓發,前段時間換了個本子,要裝oracle一時找不到安裝程序(oracle公司已經不支持817了),於在到同事的機子上copy了一個安裝好的,設置一下環境變量(註冊表)就可以使用了(需要重建庫了)。Linux上安裝時突然受到啓發,也成功了。。記下相關步驟,希望對大家有所幫助。
版權聲明:可以任意轉載,轉載時請務必標明文章原始出處、作者及本聲明http://www.upulife.com [email protected]
最近在機子上裝了一個fedora core 3由於工作需要要裝個oracle,因爲機子只有512M的內存,怕oracle 9跑不動(或不夠快),再加上對9i不熟悉,只會oracle 8i。所以決定安裝oracle 8i,在*nix上安裝oracle一直是很頭痛的事情。在網上找找相關資料,只找到在redhat linux9上安裝8i的相關文檔,內容有20頁之多(目測的),而且非常複雜,還要降級gcc之類的操作。第一天試了一下,搞了半天沒成功(連安裝界面都出不來,真是鬱悶),放棄了。
第二天起來想了想,其實那些降級gcc的操作,只不過爲了在系統上重新鏈接那些可執行程序,爲何不將已經在redhat 系列linux上鍊接好的程序直接拿來用呢?(別的廠商的linux沒試過,不過linux在相同硬件平臺下可執行程序的格式應該是一樣的,可能我們對於windows下的程序從98拷到2K直接用感到很正常,爲什麼linux不行呢?呵呵,可能linux一開始就給大家一個艱深的印象吧。至少我是一時沒轉過彎來。)於是將公司在redhat linux 7.2上安裝好的oracle程序目錄($ORACLE_BASE/product目錄)及.bash_profile文件tar下來。在fedora 上建立dba組及oracle用戶,把tar文件裏的.bash_profile覆蓋oracle用戶的.bash_profile(就是設置環境變量啦)。再根據系統的實際情況改一下相關的變量,設置ORACLE_SID=test及ORACLE_BASE=/home/oracle/變量。再將tar下來的oracle的product目錄釋放到$ORACLE_BASE目錄下.再看一下$ORACLE_BASE/product/8.1.7/jre鏈接到哪,重建這個鏈接到你的jre目錄或是直接在它指向的目錄放上你的jre或是直接在$ORACLE_BASE/product/8.1.7/下放一個JRE.oracle就安裝完成了(歡呼吧!)。就可以運行dbassist開始建庫了。呵呵簡單吧。。。
總的來說也就是:
1. 獲取在某個版本linux上安裝好的product目錄及相關的環境變量
tar cf product product.tar&&gzip product.tar
及取得:~/.bash_profile
2. 在目標機器建立用戶組及用戶。
groupadd dba
useradd –g dba oracle
3. 設置用戶的環境變量。
改~/.bash_profile中相關內容,示例見本文結尾。
4. 釋放product目錄到$ORACLE_BASE下。
5. 確認$ORACLE_BASE/ product/8.1.7/JRE鏈接指向正確的jre目錄。
在我安裝的實際情況中指向的目錄是/home/oracle/jre,我又從服務器上把這個目錄給tar下來了 …_…。
6. oracle安裝完成,運行$ORACLE_HOME/bin/dbassist開始建庫。
安裝注意事項:
1. 如果你的linux分區足夠大的話就不要將product目錄放在fat分區上了,由於fat上不能建立鏈接(還是我mount選項不正確),導致釋放tar文件後很多鏈接不存在,爲這個問題我搞了半天。
2. .bash_profile中要加export LD_ASSUME_KERNEL=2.2.5這個具體什麼原因我也不知道了,我也是在原來的系統找到這一條的。如果不加這個運行srvmgrl時出現會有一個錯誤,運行dbassist時java也出現一個錯誤,我猜(只是猜的,因爲 錯誤提示某個庫不正確)跟庫的版本有關係(或是什麼?請高手指點).
建庫注意事項:
1. 如果在fedora下已經設置爲中文環境,那麼執行dbassist應該是亂碼,可以先把/ect/sysconf/i18n中的LC_TYPE(?)這一行註釋掉,即可正常顯示,裝完後再改回來吧。(改完後要重新登陸)
2. 要用root用戶在/etc/上touch 一個oratab文件,然後chown和chgrp爲oracle用戶及其所在的組,如果沒執行這個步驟的話安裝用戶(oracle)由於沒有寫/etc的權限dbassist時將失敗(呵呵,這可是花了我2塊1毛錢得來的(安裝失敗一次,安裝期間抽了三根菸,共2.1元,呵呵。)
3. 好像沒有第3點需要注意的了 hehe. ^_^。
這就是在fedora上安裝oracle 8i的全部過程簡單吧。(花了我4.2元----6根菸時間,hehe)
後來在另一臺redhat linux 7.2及linux9上測試通過。
附上我的.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:.:/usr/java/bin
export JAVA_HOME=/usr/local/java
ORACLE_BASE=/home/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/8.1.7; export ORACLE_HOME
ORACLE_SID=test; export ORACLE_SID
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
NLS_LANG=American_america.zhs16cgb231280;export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
CLASSPATH=.:$ORACLE_HOME/jdbc/lib/classes111.zip;export CLASSPATH
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:/etc; export PATH
export LD_ASSUME_KERNEL=2.2.5
#export LDEMULATION=elf_i386_glibc21
#export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
雖然是裝成功了,還比較簡單,不過上面有很多東西我不知道具體什麼原理(文內已經提到),還望各位高手多多指教。
對了,還有一個問題,就是預編譯pro*c的pc文件,在linux 7.2下時要更新一些頭文件,應該是跟Make有關係,不過具體什麼原因呢?fedora如果沒更新頭文件也不能編譯通過,沒試過更新後可不可以。(最近比較煩,比較煩……沒心情試。)高手指點。歡迎mail或msn指點[email protected]
H.J.LeoChen
2005/05/17 02:28