cannot restore segment prot after reloc: Permission denied

在power5 Linux上安装oracle10g后,通过命令行方式登录sqlplus时,报错:

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方面的命令即可明白了!

原文:

[1]http://blog.csdn.net/wei801004/article/details/4318852

[2]http://nvd11.blog.163.com/blog/static/20001831220126295737199/

原文地址:https://www.cnblogs.com/mydomain/p/2979301.html