linux 启动oracle报cannot restore segment prot after reloc: Permission denied

 error while loading shared libraries: $ORACLE_HOME/lib/libnnz10.so: cannot restore segment prot after reloc: Permission denied

最后的Permission denied显示,初步认为是系统安全屏蔽了oracle执行某些执行动作。于是检查系统防火墙iptables,已经关闭,于是想到了Selinux,

[root@localhost ~]# more /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
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

看来是selinux的缘故,关掉selinux试试!

修改SELINUX=disabled,然后重启系统才能生效,或者执行:setenforce 0,立即生效。

果然,关闭selinux后,sqlplus可以正常登陆了。

其实在上面出现Permission denied
时,也可以执行
#chcon -t texrel_shlib_t $ORACLE_HOME/lib/*.so

问题也可以得到解决,至于chcon可以看看selinux方面的命令即可明白了!

posted @ 2015-07-06 00:37  单方面  阅读(138)  评论(0编辑  收藏  举报