欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

sqlplus: error while loading shared libraries未公布的b

程序员文章站 2022-05-22 13:58:27
...

今天远程帮助同事安装数据库11gR2,软件安装完毕后sqlplus 等命令调用不了 [oracle@oracle1 ~]$ sqlplus /nolog sqlplus: error while loading shared libraries: /opt/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore se

今天远程帮助同事安装数据库11gR2,软件安装完毕后sqlplus 等命令调用不了
[oracle@oracle1 ~]$ sqlplus /nolog
sqlplus: error while loading shared libraries: /opt/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied

这个错误看起来好像和linux的LD_LIBRARY_PATH相关
Export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

指定LD_LIBRARY_PATH后还是报错,找到mos上有篇文章
./sqlplus: error on libnnz11.so: cannot restore segment prot after reloc (文档 ID 454196.1)

Changes:
ELinux is running in "enforcing" mode.

You are encountering unpublished
Bug 6140224 SQLPLUS FAILS TO LOAD LIBNNZ11.SO WITH SELINUX ENABLED ON EL5/RHEL5
Oracle Developement is actively working on this compiler version compatibility issue (ICC compilers that are used for several libraries, such as LIBNNZ10.SO and LIBNNZ11.SO) in the RHEL 5 and OEL 5 environments.
and is included within RHEL5.5
Oracle's resolution to this for 11.2.0.1 (both x86 and x86_64 ) is patch 9215184
Oracle's resolution to this is included within 11.2.0.2

这个是启用selinux的原因,我们只要关闭掉selinux即可,刚好os版本是linux 5.5的,这个bug在11.2.0.2已经得到了解决,而小鱼安装的正是11.2.0.1版本

相应的办法是我们直接禁掉selinux即可
[root@ oracle1 ~]# /usr/sbin/setenforce 0
修改/etc/sysconfig/selinux
[root @ oracle1 ~]$ less /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing -- 修改enforcing为disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

再次sqlplus使用已经正常。