​ 最近,在处理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%,出现类似于下图的报错(因为当时无保留截图,只能在网上找张类似的):

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

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错》

CentOS上安装oracle11g报错处理的更多相关文章

  1. 解决windows64位系统上安装mysql-python报错

    解决windows64位系统上安装mysql-python报错 2018年03月12日 13:08:24 一个CD包 阅读数:1231    版权声明:本文为博主原创文章,未经博主允许不得转载. ht ...

  2. CentOS 8安装Docker报错(Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.)

    CentOS8安装docker和docer-conpose 报错如下Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires contain ...

  3. CentOS 6安装Oracle报错解决方案

    1. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-05-23_04-18-48AM. Please ...

  4. mac电脑上安装appium报错:Failed at the appium-chromedriver@4.25.1 postinstall script.

    mac电脑安装appium,装好node.js后,使用命令:npm install appium@1.18.0,安装appium,报如下错误 ``` ERR! errno1 ERR! appium-c ...

  5. centos 7安装mysql报错-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory

    [root@localhost mysql]# ./scripts/mysql_install_db  --user=mysql -bash: ./scripts/mysql_install_db: ...

  6. [sql]sqlite3板子上安装运行报错

    不管是apt-get install还是deb直接安装都抱如下错误: SQLite header and source version mismatch -- ***** -- *****

  7. windows10安装oracle11g报错ORA-01034、ORA-01078

    ORA-01034表示数据库实例未建立,可以先用管理员账号进入一个空白实例 sqlplus / as sysdba; 如果您当前使用的账号是安装oracle的账号,则不需要账号密码就可以登陆oracl ...

  8. Centos pip 安装uwsgi 报错“fatal error: Python.h: No such file or directory”

    解决方法: 安装python-devel即可,注意,不是python-dev yum -y install python-devel

  9. centos在线安装mysql报错:file /etc/my.cnf conflicts between attempted installs of mysql-community-server-8.0.16-2.el7.x86_64 and MariaDB-common-10.4.6-1.el7.centos.x86_64

    错误提示:file /etc/my.cnf conflicts between attempted installs of mysql-community-server-8.0.16-2.el7.x8 ...

随机推荐

  1. scss-算术运算符

    由于scss具有编程语言的特点,那么运算符是必不可少的. 下面就通过代码实例分别做一下介绍. 一.赋值运算符: 赋值运算符就是我们最为熟悉的冒号(:),用来给声明的变量赋值. 代码实例如下: $hig ...

  2. MockPlus的使用方法简介

    不废话直接上图,不明白的留言.

  3. 原生js简单实现拖拽效果

    实现弹窗拖拽效果的原理是:按下鼠标并移动——拖拽移动物体,抬起鼠标——停止移动.主要触发三个事件:onmousedown.onmousemove以及onmouseup: 首先搭建结构:一个宽350px ...

  4. 【起航计划 032】2015 起航计划 Android APIDemo的魔鬼步伐 31 App->Search->Invoke Search 搜索功能 Search Dialog SearchView SearchRecentSuggestions

    Search (搜索)是Android平台的一个核心功能之一,用户可以在手机搜索在线的或是本地的信息.Android平台为所有需要提供搜索或是查询功能的应用提 供了一个统一的Search Framew ...

  5. Android 自定义倾斜字体

    public class RotateTextView extends AppCompatTextView { private static final int DEFAULT_DEGREES = 0 ...

  6. python 动态导入模块、断言

    断言: 类似与判断,后面的程序依赖前面的,可以加一个断言,断言成功继续执行.断言失败报错停止执行. a = 'abc' assert type(a) is str print('yes') asser ...

  7. Hadoop ->> Hadoop是什么?

    Hadoop是什么? 1)Hadoop是一个分布式计算平台,程序员可以在不需要知道底层结构的情况下实现集群并行运算: 2)Hadoop不只是一个软件或者系统,它代表的是一个生态圈,一个做大数据分析计算 ...

  8. sql server 某列去重

    例如:某个表中,插入了两条除id外其他字段都一样的数据,但是查询的时候只想查到一条. select * from 表名 where 主键 in ( select max(主键) from 表名 gro ...

  9. react-webpack-express

    这是一个整合react express 实现前后台交互,并且采用webpack进行打包和解析文件.其实react官方有一个脚手架create react app,也可以看那个,但是这个脚手架webpa ...

  10. angularjs filter详解

    过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果. 主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等. ng内置了一些过滤器, ...