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

一、案例描述

在昨天,以前的同事叫我帮忙装一个oracle,环境是在阿里云上的,使用的centos 7操作系统。结果在oracle database 软件安装的过程中却出了一些小问题。在安装进度在84%,收到如下提示: "error in invoking target install of makefile /u01/xxxxxx/ins_cts.mk see ...xxx.log”

二、问题

为什么在安装过程中会出现"error in invoking target install of makefile /u01/xxxxxx/ins_cts.mk see ...xxx.log”,如下解决?

三、收集与分析

3.1 查看日志文件

在日志文件中发现如下关键信息:
“NFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14' INFO: collect2: error: ld returned 1 exit status”

分析:这种错误没有见过,从字面上理解决大概就是库文件“libstdc++.so.5”没有函数“memcpy@GLIBC_2.14”接口给ORACLE调用。那就是说libstdc++装得不对了,需要进一步确认。最好的方法——找亮点,上网查找是否有同类案例.

3.2 网上案例搜索

  • 经过搜索网上说得最多得是没有安装开发包,把那些开发包compat-libstdc++,glibc,等全安装,包括X86_64和i686的,然后重试。

结果:按以上方式试了,无效。

  • 继续搜索,又发现了另外一个说法,就是centos上装glibc版本过高导致的,高于2.14

分析:yum list glibc 果然是2.17 比2.14高。

  • 解决办法,按照网上的案例,重试,当出现报错时,按如下方法执行,经验证有效。

修改/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 点击Retry继续安装。接着又提示”Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk.' ,解决方法:在makefile中添加链接libnnz11库的参数 修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11 点击Retry继续安装。 安装成功!

四、结论

  • 这次的解决方法其实是取巧了,不建议这么做,万一后期出什么问题谁也说不准,又或者以后打补丁也是一个坑。
  • 建议:在进行oracle 安装之前,最稳妥的做法就是查看oracle 对那些系统那个版本做了认证,再选择合适的版本进行安装。
  • 提醒:centos 这个操作系统oracle是不认证的.

五、补充

其实除了这个错以外,还发生了另一个错误,就是在安装完数据库后,启动监听器报错,错误信息如下:

TNS-12541 TNS-12560 TNS-00511 Linux Error: 111 connection refuse 解决办法:

  1. /etc/hosts 文件里缺少了localhost的说明
  2. /etc/hosts 上主机解释的IP与主机IP不一致,冲突所致。我就是遇到这个情况。
  3. 还有就是一个nisswitch.conf 文件权限出错,就是644的。
  4. 还有什么iptables ,selinux,firewall启动所致,就不一一说明。
5.1 最后就是想说明一点,/etc/hosts上配置,网络配置对于oracle 数据库都是很重要的。需按要求严格配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值