服务器 频道

FC4下成功安装Oracle 9i

  【IT168 服务器学院】以前在Windows XP下安装过Oracle9i,但是装完了发现它自带的Apache Server跟我原来安装的Apache出现了冲突,使我感到很不爽,于是就把它给卸了。最近又要使用Oracle了,所以又得重新安装,于是决定在 Linux底下安装Oracle9i。在安装过程中还使出现了很多的问题,浪费了两天的时间。终于,经过查阅了一些资料,在网友们的帮助下终于安装成功了。为了防止遗忘,马上把安装过程写下来,给大家分享,希望能为以后需要安装的朋友节省点时间。

    安装环境:
    Fedora core 4
    Oracle9i release 2

    安装前的准备:
    安装前需要下载如下软件:
       ship_9204_linux_disk1.cpio.gz
       ship_9204_linux_disk2.cpio.gz
       ship_9204_linux_disk3.cpio.gz
    下载地址:
       http://www.oracle.com/technology/software/products/oracle9i/index.html

       p3006854_9204_LINUX.zip(Red Enterprise Linux3的补丁,不过也可以用于    Fedora)
    下载地址:
       http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/FedoraCore2_RPMS
/p3006854_9204_LINUX.zip


    开始安装
       a.   新建目录 $mkdir  /mnt/oracle          
       b.  将安装文件拷贝到新建的目录下

       c.  解压文件: $gunzip  ship_9204_linux_disk1.cpio.gz

           释放文件:cpio -idmv < ship_9204_linux_disk1.cpio

           可以看到在生成了目录  /mnt/oracle/Disk1  

           接着上面的步骤生成了Disk2 和 Disk3。

           解压补丁文件  $ unzip  p3006854_9204_LINUX.zip

           生成了目录 /mnt/oracle/3006854

      d.  创建安装Oracle所需要的用户以及组

             1)以root用户登录或者是:su -  root
             2) Oracle不能已root安装,所以要建立一个oracle用户,建立oracle 用户和密码:
              # groupadd oinstall   (在安装oracle时会提示输入UNIX Group name:oinstall)  
              # groupadd dba    
              # useradd -g oinstall -G dba oracle    
              # passwd oracle       (注意:此不能忘记,如果没有建立密码,可能下次无法用oracle登陆)
              # groupadd apache
              # useradd –gapache –G oinstall apache
              # passwd apache

             3)b) 准备文件目录:
              # mkdir -p /opt/ora9/product/9.2    
              # mkdir /var/opt/oracle    
              # chown oracle.dba /var/opt/oracle    
              # chown -R oracle.dba /opt/ora9  

   4)设置内核参数,调节信号灯及共享内存
      修改 /etc/sysctl.conf 这个文件,加入以下的语句:    
      kernel.shmmax = 2147483648 (机器内存2G,如果你的没这么大可相应设置小些,我的是512M的,所以改成相应的内存就可以了)  
      kernel.shmmni = 4096    
      kernel.shmall = 2097152    
      kernel.sem = 250 32000 100 128    
      fs.file-max = 65536    
      net.ipv4.ip_local_port_range = 1024 65000    

   5)执行sysctl以反映修改
        # sysctl –p

    6)设置oracle对文件的要求
       编辑文件:/etc/security/limits.conf 加入以下语句:    
       oracle    soft         nofile     65536    
       oracle    hard    nofile         65536    
       oracle    soft         nproc     16384    
       oracle    hard    nproc    16384

    7)以root身份设置系统环境

         #export ORACLE_BASE=/opt/ora9    
         #export ORACLE_HOME=/opt/ora9/product/9.2


    8)确定使用正确的编译器 (这一步我用过了,反而出现了问题,导致gcc找不到,所以建议不要使用;如果后面运行sh脚本时出问题了再回来做此步)
         #mv /usr/bin/gcc   /usr/bin/gcc323  --如果没有gcc这个文件,请不要执行此命令
         #mv /usr/bin/g++296   /usr/bin/g++  --如果没有gcc这个文件,请不要执行此命令
         #ln –s /usr/bin/gcc296   /usr/bin/gcc  
         #ln –s /usr/bin/g++296  /usr/bin/g++

    9)打开一个新的终端,以Oracle用户登陆,然后修改./bash_profile文件

       $ vi  /home/oracle/.bash_profile

        添加以下的内容:

  export DISPLAY=”127.0.0.1:0.0” (我这里虽然设了,但是安装开始时还是显示无法连接X Server,查资料后知道可能是JDK版本的问题,
                                     这里可以不加此行,下面自有解决方案)
  export ORACLE_BASE=/opt/ora9
  export ORACLE_HOME=/opt/ora9/product/9.2
  export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
  export ORACLE_OWNER=oracle
  export ORACLE_SID=ora9i (数据库全局变量名)
  export ORACLE_TERM=xterm (xterm窗口模式 vt100 终端调试模式)
  export LD_ASSUME_KERNEL=2.4.1 (这一步非常重要,不能用实际的内核为2.4.22)  export THREADS_FLAG=native
  export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
  export PATH=/opt/ora9/product/9.2/bin:$PATH
  export NLS_LANG=AMERICAN (设置语言AMERICAN英文)
  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
保存后退出. 执行: source .bash_profile 查看 set | more
然后。退出登录,再次进入,这时候oracle的环境就已经生效了.注:一定要推出后重登陆,否则不会生效!

注意,如果内核参数设置过高,即设置为实际内核 export LD_ASSUME_KERNEL=2.4.22就会出现以下错误:/

opt/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so) Unable to initialize threads: cannot find class java/lang/Thread         Could not create Java VM

造成不能安装 OEM,net configure 等组件

     10)安装补丁

$ cd /home/ora9i /3006854

$ chmod +x  rhe13_pre_install.sh
$ sh rhe13_pre_install.sh
Applying patch...
Patch successfully applied

这里很重要,一定要成功,否则就无法安装,会出现下面的错误。如果执行时报错:gcc找不到,则进行上面设置编译器的步骤。我设了反而出错了! :(
      注意:如果没有安装补丁,安装时会出现如下的错误信息:

Initializing Java Virtual Machine from /tmp/OraInstall2005-01-18_06-01-55PM/jre/bin/java. Please wait...  
Error occurred during initialization of VM  
Unable to load native library: /tmp/OraInstall2005-01-18_06-01-55PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

      11) 以oracle用户安装Oracle

$ cd /mnt/oracle/Disk1

$./runInstaller
Initializing Java Virtual Machine from /tmp/OraInstall2005-11-09_07-21-54PM/jre/bin/java. Please wait...
  如果以上步骤设置了DISPLAY的环境变量,而且安装界面也已出现,那么祝贺你,你安装Oracle9i已基本不会有问题了。但是我设置了以后就出现了如下的错误,导致无法继续安装:
   Exception in thread "main" java.lang.InternalError: Can''''t connect to X11 window server using ''''127.0.0.1:0.0'''' as the value of the DISPLAY      variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:59)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:120)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58)
        at java.awt.Window.(Window.java:188)
        at java.awt.Frame.(Frame.java:315)
        at java.awt.Frame.(Frame.java:262)
        at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:593)

  我在网上查了一下,原因可能是由于JDK的版本过老,在使用AWT时的一个属性出了问题。可以使用如下方法解决:
    如果你设置了环境变量DISPLAY,请先到/home/oracle/.bash_profile中把DISPLAY删掉,然后打开一个新的终端(注:必须是图形界面下的Koncole,如果在文字界面下将不成功),以root登陆,输入如下命令:
     #xhost +
  如果成功,会输出其他用户可以连接此窗口的结果。
  然后在另外一个终端中以oracle登陆,执行命令:
     $./runInstaller
  网上几乎所有的文章都是使用设置环境变量DISPLAY的方法来安装了,但是这里就是不行,这也是困扰我很久的主要问题!  好了,你现在应该能看到安装的界面了吧!
  可是界面上怎么都是“方框”的乱码呢?呵呵,那是因为语言、字体设置的问题,退出安装,先设置一下环境变量:
   $ export LC_ALL=C
   $ ./runInstaller
  这下好了吧,现在可以方便的进行安装了,应该不会再出现什么问题了!
  在安装过程中需要以root来执行两次sh脚本,根据它的提示做就可以了。

12) 终于安装成功了,现在可以建立你的数据库了

0
相关文章