如何在各種版本的linux 上安裝oracle 的資料已經很多了,也介紹的很詳細,按說只要按照
步驟一步步來,應該不會出現問題。我也曾經在redhat 9 上安裝過 oracle 9.2.0.1, 沒有出現
任何問題。但最近我在redhat 9 上安裝 oracle 9.2.0.4( 這個版本是OTN上可以下載的,9.2.0.1
的下載鏈接已經沒有了)時,在最後使用DBCA創建數據庫時,出現了以下的錯誤:
click finish, 彈出確認畫面,click ok, 這時,本應該進入DBCA創建數據庫的畫面,DBCA卻異常退出,commandline 顯示的文字爲:
/u01/oracle/product/9.2.0.4/bin/dbca: line 124: 2542 Killed
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPA
TH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
(藍色的部分是DBCA的進行號,不同的機器上不相同)
我嘗試了很多次,都會出現這個錯誤。可我曾經在redhat 9 上安裝過9.2.0.1, 沒有任何
問題,看來應該是9.2.0.4 的問題了。我在google 上搜索到一篇在fedora core 1 上
安裝 9.2.0.4 的文章(http://www.oracle-base.com/articles/9i/Oracle9iInstallationOnFedora1.php)
,其中有這樣一段:
Before a database instance can be created some of the Oracle tools must be forced to look at an alternative JRE:
With this done the DBCA can be started using
dbca
from the command line.其中的 jdk1.3.1_09 是作者要求從sun 網站下載的。
如此看來應該是JRE 的版本不對了。oracle 一般使用的JRE 是 1.1.8(實在不明白爲什麼)
到 $ORACLE_BASE/jre 目錄下,發現oracle 自己已經有1.3.1版的JRE
ls $ORACLE_BASE/jre
1.1.8/ 1.3.1/
只要使用1.3.1 的JRE就可以了。通過察看dbac 的script , 我的修改方法如下:
1. rm $ORACLE_HOME/JRE (此JRE目錄是1.1.8 的符號鏈接)
2. ln -s $ORACLE_BASE/jre/1.3.1 $ORACLE_HOME/JRE
3. cd $ORACLE_BASE/jre/1.3.1/bin
4. ln -s $ORACLE_BASE/jre/1.3.1/bin/.java_wrapper jre
(或者: ln -s java jre)
5. cd i386/native_threads
6. ln -s java jre
這時,從commandline 啓動dbca, 就可以解決上面的問題。
感想:
其實oracle 自己就可以做好這些事情,爲什麼要用戶去完成這些枯燥的事情呢?
另: 在啓動 oracle net manager ($ORACLE_HOME/bin/netmgr) 時,如果使用1.3.1 版
的JRE, netmanager 啓動失敗,應該將 $ORACLE_HOME/JRE 重新符號鏈接到 1.1.8 的JRE.