如何在各种版本的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:
mv $ORACLE_HOME/JRE $ORACLE_HOME/JRE_ORIGln -s /usr/Java/jdk1.3.1_09/jre $ORACLE_HOME/JREsu - rootln -s /usr/java/jdk1.3.1_09/jre/bin/java /usr/java/jdk1.3.1_09/jre/bin/jreln -s /usr/java/jdk1.3.1_09/jre/bin/i386/native_threads/java /usr/java/jdk1.3.1_09/jre/bin/i386/native_threads/jreexit
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 自己就可以做好这些事情,为什么要用户去完成这些枯燥的事情呢?