zoukankan      html  css  js  c++  java
  • Oracle 9i 9.2.0.4 linux i386 安装:闲来尝试:各种问题、及解决

    值得赞扬的是:9i的安装挺简单,包依赖很少,仅仅需要最最基本的编译环境即可。

    问题 1: 下载9i的安装介质,挺费劲。网上下载的基本都是通过迅雷,但是一没资源,二下载到包都是损坏的

    解决 1:充迅雷会员! 找百度网盘资源!找CSDN下载资源。

    问题 2:新版的redhat系 linux 6 很多老的rpm包都已经废弃删除了。老版本的 linux 5系也都是高版本了。无法安装!

    解决 2.1:使用老版本的 3系、4系 linux。

    解决 2.2:单独下载老版本的rpm包,在 5系、6系上单独安装。必要的rpm包就2个:

                 compat-gcc-32-3.2.3-47.3.i386.rpm

                 compat-libstdc++-296-2.96-132.7.2.i386.rpm(如果不是此类低版本,需要做个软连接,原因是问题3中的 “libstdc++-libc6.1-1.so.2”)

                 附件: “libcwait.so”

    问题 3:9i安装成的java版本实在是太低了,对运行库由特定版本“libstdc++-libc6.1-1.so.2”有要求,还有个bug:p3006854。

    解决 3: 做个软连接;并利用LD_PRELOAD原理来解决p3006854BUG!

    [root@bogon oracle]# ln -s /usr/lib/libstdc++-libc6.2-2.so.3 /usr/lib/libstdc++-libc6.1-1.so.2
    [root@bogon oracle]# cat p3006854_9204_linux_rhel3_pre_install.sh #!/bin/bash cat << EOF | #include <errno.h> #include <sys/syscall.h> #include <sys/types.h> #include <sys/wait.h> pid_t __libc_wait (int *status) { int res; asm volatile ("pushl %%ebx " "movl %2, %%ebx " "movl %1, %%eax " "int $0x80 " "popl %%ebx" : "=a" (res) : "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0)); return res; } EOF gcc -O2 -shared -fpic -xc - -o libcwait.so echo "/etc/libcwait.so" >>/etc/ld.so.preload echo "Patch successfully applied"

    附件:编译好的 “libcwait.so

    问题 4:这个“问题3”中的bug p3006854,oracle的做法不算完美!会影响linux系统本身的运行

    解决 4:我给出的完美解决方案是:

                  首先,改写下bug p3006854的修正脚本源代码文件,只留核心编译,生成文件“libcwait.so”,但是不入侵系统的配置文件“/etc/ld.so.preload”

                  然后,调用runInstaller方式略微改变如:[oracle@bogon mnt]$ LD_PRELOAD=/home/oracle/libcwait.so    Disk1/runInstaller

    问题 5:默认调用“Disk1/runInstaller”执行图形安装,会失败。因为oracle 数据库的默认创建位置是 “/oradata”

    解决 5:在root用户下创建目录并修改目录的权限(所有者)

                [root@bogon bin]# mkdir /oradata

                [root@bogon bin]# chown oracle:oracle /oradata

    问题 6:升级9i到 9.2.0.8后,会造成${ORACLE_HOME}/JRE的软连接失效!

    解决 6 :重新创建JRE软连接到${ORACLE_HOME}/jre/1.4.2

    问题 7:升级9i到 9.2.0.8后,会造成dbca etca等调用java的程序失败。原因是它们使用jre来调用java,升级后根本就不存在jre了,已经变成规范的java。

    解决 7 :重新创建jre/bin下的jre符号链接指向java

    问题 8 :升级p4547809_92080_LINUX,会弹出不支持的操作系统!! 垃圾,安装原始版的时候怎么不检查呢?!!!

    解决 8:让安装程序忽略操作系统检查即可。

                  [oracle@bogon ~]$ /mnt/p4547809_92080_LINUX/Disk1/runInstaller -ignoreSysPrereqs

    其他,待续 ...

  • 相关阅读:
    我的第九个java程序--spring和mybatis整合(java project)
    php 批量插入字段
    php 遍历静态html成文章列表
    把world转成html
    java 读取world的图片 并把图片路径存入数据库
    我的第八个java程序--读取word内容
    我的第7个java程序--把java web项目改为java project项目--mybatis
    我的第六个java程序 spring-bean
    学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用
    学习spring1--跟我一起学Spring 3(2)–开发环境配置
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/14344903.html
Copyright © 2011-2022 走看看