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