升级CentOS 7(x86_64)后,又重新安装了Oracle 11g r2。
安装前,按照Oracle官方文档进行准备工作,主要是安装一些必要的软件包。我没有装i686或i386的包,只装了x86_64的。
安装过程中,在link binaries阶段出现2个错误,第一个是关于ins_ctx.mk
,log显示:
/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
原因据说是由于本机的glibc版本高于2.14(实际为2.17)。解决方法:
yum install glibc-static
该软件包包含一个静态链接库:/usr/lib64/libc.a
修改/app/oracle/product/11.2.0/db_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'/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.'
解决方法,在makefile中添加链接libnnz11库的参数:
修改/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)
修改为:
$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry即可。