• 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

    其他,待续 ...

  • 相关阅读:
    cmake Found package configuration file but it set OpenCV_FOUND to FALSE
    pthread库"timespec"结构体重定义解决
    【Windows10】运行软件后,窗口不显示的解决办法
    Windows下Cmake生成动态库install命令失败、导入库概念
    【转载】多尺度增强算法Retinex算法(MSRCR)的原理、实现及应用
    【转载】Ubuntu 和 Windows 之间进行远程访问和文件互传
    博客园Markdown编辑器
    合并两个有序数组(C++)
    从协方差矩阵的估算领会MATLAB矩阵编程思维
    常见排序算法的性能对比
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/14344903.html
Copyright © 2020-2023  润新知