zoukankan      html  css  js  c++  java
  • CentOS上安装oracle11g报错处理

    ​ 最近,在处理oracle gateway的报错问题。只因个人的测试环境已经迁移到docker上了,又懒得装一套环境就直接在机器上安装oracle11g。今天分享的故事就从此开始……

    运行环境

    项目 描述
    操作系统 CentOS Linux release 7.6.1810 x86_64
    内存 2G
    硬盘大小 30G
    CPU Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
    虚拟机软件 Oracle VM VirtualBox 6.0.2
    Oracle RDBMS Oracle 11gR2 for Linux x86_64

    问题描述

    ​ 由于只是做个测试,选择了安装最简单的单机版,不安装GI。根据以往的经验,执行命令安装系统补丁。但在安装进度在84%,出现类似于下图的报错(因为当时无保留截图,只能在网上找张类似的):

    1553842399376

    ​ 根据以往的经验告诉我,出现这样的问题,肯定是操作系统补丁包缺失导致的。检查了一番,发现需要都操作系统补丁都已经安装上了。

    INFO: mv -f /u01/app/oracle/product/11.2.0/dbhome_1/bin/ctxlc /u01/app/oracle/product/11.2.0/dbhome_1/bin/ctxlcO
    
    INFO: mv ctxlc /u01/app/oracle/product/11.2.0/dbhome_1/bin/ctxlc
    
    INFO: chmod 751 /u01/app/oracle/product/11.2.0/dbhome_1/bin/ctxlc
    
    INFO: gcc -o ctxhx -m64 -L/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/stubs/  /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ctxhx
    .o -L/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lm -lsc_fa -lsc_ex -lsc_da -lsc_ca -lz  -lctxhx -Wl,-rpath,/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -ln
    ls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11  `c
    INFO: at /u01/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist`
    
    INFO: //usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
    collect2: error: ld returned 1 exit status
    
    INFO: make: *** [ctxhx] Error 1
    
    INFO: End output from spawned process.
    INFO: ----------------------------------
    INFO: Exception thrown from action: make
    Exception Name: MakefileException
    Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/oracle/app/oraInventory/logs/installActions2019-03-24_05-39-13AM.log' for details.
    Exception Severity: 1
    INFO: Linking Text executables
    INFO: Linking Text executables
    INFO: The output of this make operation is also available at: '/u01/app/oracle/product/11.2.0/dbhome_1/install/make.log'
    INFO:
    

    ​ 但之前已经再三确认过补丁包已经安装完成,故在my oracle support上查找并没有找到相关的内容。最后寻求度娘的帮助,结果找到了一遍相关的case,说是glibc版本过高导致的,高于2.14。

    # yum list glibc
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    Installed Packages
    glibc.x86_64                                                                                          2.17-260.0.15.el7_6.3                                                                                           @ol7_latest
    Available Packages
    glibc.i686                                                                                            2.17-260.0.15.el7_6.3                                                                                           ol7_latest
    

    ​ 跟着文档的内容进行修改相关文件ins_ctx.mk点击Retry继续安装。在同样的进度位置出现报错ins_emagent.mk文件的报错,然后修改文件ins_emagent.mk内容再点击Retry继续安装即可完成安装。

    解决方案

    ​ 以下是文件ins_ctx.mk和ins_emagent.mk需修改的相关内容:

    修改文件/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk

    ......
    ctxhx: $(CTXHXOBJ)
            $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
    ......
    

    修改为

    ......
    ctxhx: $(CTXHXOBJ)
            -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
    ......
    

    修改文件/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

    ......
    #===========================
    #  emdctl
    #===========================
    
    $(SYSMANBIN)emdctl:
            $(MK_EMAGENT_NMECTL)
    ......
    

    修改为

    ......
    #===========================
    #  emdctl
    #===========================
    
    $(SYSMANBIN)emdctl:
            $(MK_EMAGENT_NMECTL) -lnnz11
    ......
    

    附录

    操作系统补丁安装命令

    yum -y  install gcc* libaio* glibc* compat-* elfutils* glibc* libgcc* libstdc++* unixODBC* pdksh* ksh*
    yum -y install libaio*.i686 glibc*.i686 compat-*.i686 elfutils*.i686 glibc*.i686 libgcc*.i686 libstdc++*.i686 unixODBC*.i686 pdksh*.i686 *ksh*.i686
    

    参考文档

    《2017-11-17 DBA日记,CENTOS 7装ORACLE 11g时报ins_ctx.mk错》

  • 相关阅读:
    How to configure security of ActiveMQ ?
    CentOS 搭建 nginx + tomcat
    25个 Git 进阶技巧
    写给Git初学者的7个建议
    my links
    Shell scripts to Create a local dir base on the time.
    81For全栈技术网
    一款可视化的在线制作H5
    在线制作h5
    在线制作h5——上帝的礼物
  • 原文地址:https://www.cnblogs.com/nolanchan/p/10621628.html
Copyright © 2011-2022 走看看