日期:2013-08-18  浏览次数:20504 次


如何在各种版本的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 本人就可以做好这些事情,为什么要用户去完成这些单调的事情呢?