作者:angle4 |
|
从网上看到很多朋友提出如何在rhel5上安装oracle 9i,更有人提出是否可以在rhel5上安装oracle 9i. 故把我的安装步骤、经验与大家分享. 环境: Red Hat Enterprise Linux 5 (RHEL5), Oracle9i (9.2.0.4.0) RHEL5 安装可参考 [url=http://ox0spy.googlepages.com/rhel5install.txt]Red Hat Enterprise Linux 5 (RHEL5) 安装说明 下面以 $ 开头的命令都是由oracle执行的 # 开头的命令都是由root执行的 更多内容可阅读我blog : [url=http://ox0spy.blogspot.com/2008/03 /oracle9i-92040-installation-on-red-hat.html]http://ox0spy.blogspot.com/2008/03/oracle9i-92040-installation-on-red-hat.html 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 export PATH=/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. 打补丁、安装需要的包, 至于为什么要做这些工作,后面有个Tips,给出了安装中出现的错误及其Solution -------------------------------------------------------------------------------------------------- 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 和 一些依赖包 这些包网上都可以找到 # 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 到这你可以能会说前面的两个补丁还没打,请别着急,后面会用到它们的 好,我们继续... 5. 开始安装oracle ---------------------------------------------------------------------------------- 1) 准备工作 download oracle 9i http://www.oracle.com/technology/software/products/oracle9i/htdocs/linuxsoft.html 解压 $ 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了,安装也就结束了... ================================================== *Tips: (这是我安装过程中出现的问题及其解决方法) ================================================== 1. error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory - after ./runInstaller execution. ================================================================== Solution: su - # cd /usr/lib # ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2 2. Oracle 9i Patch ========================== p2617419_220_GENERIC.zip p3006854_9204_LINUX.zip p3238244_9204_LINUX.zip http://www.opennet.ru/soft/ora_inst/ compat-libcwait-2.0-2.i386.rpm compat-oracle-rhel4-1.0-5.i386.rpm http://oss.oracle.com/projects/compat-oracle/files/RedHat/ 3. 几个需要的包所在的路径 =========================== compat-db -- AS5 disk 3 compat-gcc-34 -- 2 compat-gcc-34-c++ -- 2 compat-libgcc -- 3 openmotif -- 3 4. Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-12-06_07-00-08PM/jre/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory ======================================================================== Solution: install the follow RPMs libXpm -- 1 libXpm-devel -- 2 libXp -- 2 libXp-devel -- 2 5. Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':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) at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:593) ====================================================================================== Solution: (xhost +的问题 ) 1. 用oracle用户登录x-window 或者 2.用root用户运行 # xhost + 6. Fatal: Stack size too small. Use 'ulimit -s' to increase default stack size. ========================== 第二次运行就正常了 7. $ dbca // 无法启动dbca,提示错误如下: /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 ========================== Solution: (参考 冷风的Fedora 7最新安装Oracle9204手记) $ cd /opt/app/oracle/product/9.2.0 $ ls -l JRE lrwxrwxrwx 1 oracle oinstall 25 Dec 7 10:11 JRE -> /opt/app/oracle/jre/1.1.8 $ rm JRE $ ln -s /opt/app/oracle/jre/1.3.1 JRE $ su - # cd /opt/app/oracle/product/9.2.0/JRE/bin/ # ln -s java jre # cd i386/native_threads/ # ln -s java jre 8. 快装完的时候有: parameter "orahome"=/home/oracle/product/9.2.0 parameter "nodeinfo"=NO_value 提示失败。 ======================================================= Solution: 打上安装补丁p3238244_9204_LINUX.zip unzip p3238244_9204_LINUX.zip cd 3238244 手工将3238244/files/lib/stubs目录下的所有文件复制到 /oracle/product/9.2.0/lib/stubs/目录下也可以,如下: cp files/lib/stubs/* $ORACLE_HOME/lib/stubs/ 重新连接编译"Agent"相关程序 cd $ORACLE_HOME/network/lib/ make -f ins_oemagent.mk install 耐心等待成功编译。 再点击前面oracle安装程序中的"Agent Configuration Assistant",并点击 "Retry"重新运行配置工具程序,过一会应该会成功,退出安装 9. /opt/app/oracle/9.2.0/Apache/Apache/bin/apachectl startssl: httpd could not be started /opt/app/oracle/9.2.0/Apache/Apache/bin/httpd: error while loading shared libraries: libdb.so.2: cannot open shared object file: No such file or directory ======================================================= Solution: 安装 gnome-libs-1.4.2-7.rhel5.i386.rpm 及其依赖的包 giflib-4.1.3-8.i386.rpm libpng10-1.0.18-2.i386.rpm glib-1.2.10-26.fc7.i386.rpm ORBit-0.5.17-22.rhel5.i386.rpm gnome-libs-1.4.2-7.rhel5.i386.rpm rpmdb-redhat-4-0.20071031.src.rpm imlib-1.9.15-2.fc7.i386.rpm gtk+-1.2.10-57.fc7.i386.rpm 写在最后,为了更加容易安装,我写了三个简单的脚本 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 为了使安装更加容易,我写了3个简单的脚本: + [url=http://ox0spy.googlepages.com/beforeInstallOracle.sh]beforeInstallOracle.sh, + [url=http://ox0spy.googlepages.com/patch_before_install.sh]patch_before_install.sh, + [url=http://ox0spy.googlepages.com/patch_configuration_tools.sh]patch_configuration_tools.sh +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++ + patch目录结构如下: ++++++++++++++++++++ C:\>tree /f D:\patch 卷 PROGRAM 的文件夹 PATH 列表 卷序列号码为 0006EE50 D662:9A5F D:\PATCH │ beforeInstallOracle.sh │ p3006854_9204_LINUX.zip │ p3238244_9204_LINUX.zip │ patch_configuration_tools.sh │ compat-libcwait-2.1-1.i386.rpm │ patch_before_install.sh │ └─rpm │ libXp-1.0.0-8.i386.rpm │ openmotif-2.3.0-0.3.el5.i386.rpm │ compat-db-4.2.52-5.1.i386.rpm │ libXp-devel-1.0.0-8.i386.rpm │ compat-gcc-34-c++-3.4.6-4.i386.rpm │ openmotif-devel-2.3.0-0.3.el5.i386.rpm │ compat-gcc-34-3.4.6-4.i386.rpm │ libXpm-3.5.5-3.i386.rpm │ compat-libgcc-296-2.96-138.i386.rpm │ libXpm-devel-3.5.5-3.i386.rpm │ └─download gnome-libs-1.4.2-7.rhel5.i386.rpm ORBit-0.5.17-22.rhel5.i386.rpm libpng10-1.0.18-2.i386.rpm gtk+-1.2.10-57.fc7.i386.rpm gnome-libs-devel-1.4.2-7.rhel5.i386.rpm glib-1.2.10-26.fc7.i386.rpm imlib-1.9.15-2.fc7.i386.rpm giflib-4.1.3-8.i386.rpm rpmdb-redhat-4-0.20071031.src.rpm 注:由于补丁和包太大、网上也有,就不上传 |