RedHat5.5下安装Oracle 9i

一  前言:

      一直想动手搭建linux 的oracle环境,之前网上搜索安装步骤太麻烦一直没时间搞。今天搞到夜里才算搞定(期间各种报错!发火),

不容易呀! 不过收获很丰富大笑,现在奉上安装成果:


二 环境:

   宿主:WinXP SP3

   虚拟机(vmtools已安装):   RedHat Enterprise Linux 5

   数据库: Oracle9i Database Release 2 Enterprise/Standard Edition for Intel Linux

   下载链接:http://hi.baidu.com/noyes_dk/item/c95a5dca2b4d4cdf964452ad   (此处注意只要找到指定链接右击迅雷下载链接,不要打开链接!)

 

三 准备工作:(说明:以下部分内容摘自网络!)

  1. 创建用户和组
-------------------------添加安装过程中需要用到的用户和组
$ su -
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle

2. 创建目录
--------------------------
我们将把所有东西都安装到在 /opt/oracle 目录下:
# mkdir -p /opt/app/oracle/9.2.0
# chown -R oracle.oinstall /opt/app/oracle

3. 系统配置
--------------------------
a) 设置内核参数
编辑/etc/sysctl.conf
kernel.shmmax = 536870912 这里设置为物理内存的一半 1G内存的话为:512×1024×1024
kernel.shmmni = 4096 2G 内存的话为:1024×1024×1024
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128 其他的值都不用动
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

sem 4个参数依次为 SEMMSL(每个用户拥有信号量最大数);
SEMMNS(系统信号量最大数);
SEMOPM(每次semopm系统调用操作数);
SEMMNI(系统辛苦量集数最大数).
Shmmax 最大共享内存2GB 物理内存如果小的话可以设置成 536870912.
Shmmni 最小共享内存 4096KB.
Shmall 所有内存大小.

执行sysctl以反映修改 使内核参数立刻生效,重启也可以
# sysctl –p

也可以在运行时通过执行下列命令更改内核参数:
#echo 250 32000 100 128 > /proc/sys/kernel/sem
#echo 268435456 > /proc/sys/kernel/shmmax  # 1/2 * mem_size(M) * 1024 *1024
#echo 4096 > /proc/sys/kernel/shmmni
#echo 524288 > /proc/sys/kernel/shmall # mem_size(M) * 1024
#echo 65536  > /proc/sys/fs/file-max
#echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

b) 设置oracle对文件的要求
修改文件:/etc/security/limits.conf
#echo oracle        soft        nofile        65536 >> /etc/security/limits.conf
#echo oracle        hard        nofile        65536 >> /etc/security/limits.conf
#echo oracle        soft        nproc        16384 >> /etc/security/limits.conf
#echo oracle        hard        nproc        16384 >> /etc/security/limits.conf

c) 设置环境变量
在/home/oracle/.bash_profile 中添加如下行:
export ORACLE_SID=zhang
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=/opt/app/oracle/9.2.0
export LD_LIBRARY_PATH=/opt/app/oracle/9.2.0/lib:/lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib
export TNS_ADMIN=/opt/app/oracle/9.2.0/network/admin
export ORA_NLS33=/opt/app/oracle/9.2.0/ocommon/nls/admin/data
export ORACLE_OWNER=oracle
export ORACLE_TERM=xterm
exportPATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/opt/app/oracle/9.2.0/bin

4. 打补丁、安装需要的包
--------------------------------------------------------------------------------------------------
a) 补丁说明:
p3006854_9204_LINUX.zip 安装前就要打好的补丁
p2617419_210_GENERIC.zip 安装后要打的(这只是一个伴随补丁,只要设置它的
环境变量)
p3238244_9204_LINUX.zip 安装后要打的9204的补丁,修复agent错误的补丁.
http://www.opennet.ru/soft/ora_inst/

compat-libcwait-2.0-2.i386.rpm LINUX AS 4 的补丁在安装前就要打
compat-oracle-rhel4-1.0-5.i386.rpm LINUX AS 4 的补丁在安装前就要打,但我没安装它
http://oss.oracle.com/projects/compat-oracle/files/RedHat/

b) 打p3006854_9204_LINUX.zip
# unzip p3006854_9204_LINUX.zip
# chmod +x 3006854/rhel3_pre_install.sh
# 3006854/rhel3_pre_install.sh

c) 安装 compat-libcwait-2.1-1.i386.rpm
# rpm -ivh compat-libcwait-2.1-1.i386.rpm

d) 一些需要的包,这些包可以从系统盘中找到
# rpm -ivh compat-db-4.2.52-5.1.i386.rpm
# rpm -ivh libXp-1.0.0-8.i386.rpm
# rpm -ivh libXp-devel-1.0.0-8.i386.rpm
# rpm -ivh openmotif-2.3.0-0.3.el5.i386.rpm
# rpm -ivh openmotif-devel-2.3.0-0.3.el5.i386.rpm

d) gnome-libs-1.4.2-7.rhel5.i386.rpm 和 一些依赖包
   这些包网上都可以找到,也可以从 http://ox0spy.googlepages.com/download.zip 下载
# rpm -ivh giflib-4.1.3-8.i386.rpm
# rpm -ivh glib-1.2.10-26.fc7.i386.rpm
# rpm -ivh libpng10-1.0.18-2.i386.rpm
# rpm -ivh ORBit-0.5.17-22.rhel5.i386.rpm
# rpm -ivh gtk+-1.2.10-57.fc7.i386.rpm
# rpm -ivh imlib-1.9.15-2.fc7.i386.rpm
# rpm -ivh gnome-libs-1.4.2-7.rhel5.i386.rpm


e) 创建链接
# ln -s /usr/lib/libstdc++-libc6.2-2.so.3 /usr/lib/libstdc++-libc6.1-1.so.2

到这你可以能会说前面的两个补丁还没打,请别着急,后面会用到它们的
好,我们继续...


四   开始安装oracle
----------------------------------------------------------------------------------
1) 准备工作
   解压下载好的文件:
   $ zcat ship_9204_linux_disk1.cpio.gz | cpio -idmv
   $ zcat ship_9204_linux_disk2.cpio.gz | cpio -idmv
   $ zcat ship_9204_linux_disk3.cpio.gz | cpio -idmv
   
2) 请重启X然后用oracle登陆系统, 否则会出现一些列的错误,如:xhost +、环境变量、etc
$ Disk1/runInstaller


没有特别说明的均按默认设置,根据界面提示,然后点 Next 或 OK即可.
Oracle install group : oinstall
Global Database Name : ox0spy.org (可根据你的情况填写)
这个过程中还会出现两次提示,让你运行指定目录下的脚本,根据提示做就可以了

3) 现在应该安装到Configuration Tools了,如果在这出现错误,提示Configuration Tools安装失败,
   不要着急,我们还有两个补丁没打呢. 其实准确的说是一个补丁, p2617419_210_GENERIC.zip只是
   一个伴随补丁, 我这不需要,手动完成就好
   解决Agent Configuration Assistant安装失败
$ unzip p3238244_9204_LINUX.zip
$ cp 3238244/files/lib/stubs/* $ORACLE_HOME/lib/stubs/
$ cd $ORACLE_HOME/network/lib/
$ make -f ins_oemagent.mk install
  
  解决 Oracle Net Configuration Assistant, Oracle Database Configuration Assistant 安装失败
$ rm $ORACLE_HOME/JRE
$ ln -s $ORACLE_BASE/jre/1.3.1/  $ORACLE_HOME/JRE
$ ln -s $ORACLE_HOME/JRE/bin/java $ORACLE_HOME/JRE/bin/jre
$ ln -s $ORACLE_HOME/JRE/bin/i386/native_threads/java $ORACLE_HOME/JRE/bin/i386/native_threads/jre

OK,现在Retry,你就可以成功安装Configuration Tools了,安装也就结束了...

------------附上安装界面:




五  遇到的错误及解决方法:

  1. libstdc++-libc6.1-1.so.2 缺失:

   Initializing Java Virtual Machine from /tmp/OraInstall2013-04-22_09-22-27AM/jre/bin/java. Please wait...
/tmp/OraInstall2013-04-22_09-22-27AM/jre/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory

   解决方法:下载:http://download.csdn.net/download/laoerdan/3422078
                       安装:rpm -ivh compat-libstdc++-7.3-2.96.118.i386.rpm

  2. Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'localhost:0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(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.<init>(Window.java:188)
        at java.awt.Frame.<init>(Frame.java:315)
        at java.awt.Frame.<init>(Frame.java:262)

   解决方法:

A  以root用户登录

输入命令xdpyinfo,记录下里面的name of display:后的字符串,如 name of display:127.0.0.1:1.0
在执行xhost +命令(使得所有客户都可以访问)
返回信息为:
access control disabled,clients can connect from any host


如果xhost +不能执行,可以输入命令export DISPLAY=:0执行一下
再执行xhost +
xhost + ip (name表示那个ip机器可以使用该服务)

B  以oracle用户登录
如果前面root登录下执行xdpyinfo后的name of display:后的字符串是127.0.0.1:1.0
那么在该oracle用户下执行一下export DISPLAY=:1.0
然后再执行xdpyinfo命令,如果能出现信息说明你已经成功了!

  3. Font specified in font.properties not found(气死我了!!!)
 解决方法:
   $ unset LANGUAGE
   $ export LANG=en
   $ export LC_ALL=en_us
   $ ./runInstaller

  4.XIO:  fatal IO error 104 (Connection reset by peer) on X server ":1.0"
      after 0 requests (0 known processed) with 0 events remaining. --真TM郁闷 睡觉!!!

  解决方法:这个步骤是我用Putty链接执行时曝出的,第二天早上直接使用RedHat terminal 没报。。。


  5. 运行dbca和netca报错

/opt/app/oracle/jre/1.1.8/bin/../lib/i686/native_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

解决方法:

 Case:JRE 的版本不对, Oracle 一般使用的JRE是1.1.8到$ORACLE_BASE/jre 目录下,发现Oracle本身已经有1.3.1版的JRE
#ls $ORACLE_BASE/jre
1.1.8/ 1.3.1/
Fix:只要改变一下链接使用1.3.1的JRE就可以了。(可以查看dbca的script) 
   1. $cd $ORACLE_HOME ; mv JRE JRE.bak    (此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
       OR: #ln -s Java jre
   5. $cd i386/native_threads
   6. $ln -s java  jre 

 

六  总结

    本篇文章仅供参考,遇到问题请谷哥、度娘!

-------------------------------

Present  By  Dylan.






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值