昨天翻了一下午的 google 和 OTN,總算把 Oracle 9iR2 裝在 debian上了。
Oracle 9i 有 OUI ,安裝很簡單,都是用選的,然後下一步下一步這樣。安裝的時候我遇到四個問題,解決方法列示如下:
1.) 在 linking 的時候,ins_rdbms.mk 會過不了。
解決方法:用 gcc-2.95.4
因為我的 debian 在 /usr/bin 裡面的 gcc 是 link 到 gcc-3,所以 link 回 gcc-2.95.4 就過了(這個搞了我很久.. XD)...
2.) 也是 linking 的時候,出現 Error in invoking target install of make file /XXX/XXX/XXX/ctx/lib/ins_ctx.mk
解決方法[其一]:
抓這兩個檔案 ins_ctx.mk 還有 bug2037255.o
然後放到原本 ins_ctx.mk 的地方($ORACLE_HOME/ctx/lib),把原本的 ins_ctx.mk reaname 成別的名字,接下來在該目錄下執行: make -f ins_ctx.mk ictxhx
解決方法[其二]:
編輯 $ORACLE_HOME/ctx/lib/env_ctx.mk
找到 "INSO_LINK" 的地方,幫它補上 "$(LDLIBFLAG)dl"
也就是變成:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
然後回去 Oracle 的安裝視窗,按下 "retry" ,就會過了
3.) 接下來要你執行 root.sh 的時候,會找不到 awk
解決方法: 把 /usr/bin/awk link 到 /bin 下面就好了
4.) 再來是在跑 Configuration Tools 時會有 JRE 的問題
解決方法:編輯 $ORACLE_HOME/bin/dbca,找到定義 JRE_DIR 的地方,把它改成系統上可以 work 的 JRE 目錄(例如我的是 JRE_DIR=/usr/local/jdk1.4.2/jre),然後把同樣這個檔底下描述 $JRE_DIR/bin/jre 的全部改成 $JRE_DIR/bin/java,然後就好了。
但是接下來在我的機器上,VNCserver 就挫屎了(我用 vnc 連去安裝的)。不過接著我在開一個 vncserver :2,直接跑他的 dbca,一樣OK,也可以新建資料庫,目前跑起來都很正常。
還有就是用 dbca 建立資料庫的時候,如果出現"unable to attach shared memory segment":
echo 1073741824 > /proc/sys/kernel/shmmax
有興趣的人不妨試試看囉~
參考來源:http://www.the-love-shack.net/oracle-on-sid.html