After Oracle10g is installed on power5 Linux, an error is returned when you log on to sqlplus using the command line:
Error while loading shared libraries: $ ORACLE_HOME/lib/libnnz10.so: cannot restore segment prot after reloc: Permission denied
The last permission denied shows that the system security shields oracle from performing certain execution actions. So I checked the system firewall iptables and it was closed. So I thought of 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
It seems that SELinux is the reason. Please turn off SELinux!
Modify SELinux = disabled, and then restart the system to take effect, or execute: setenforce 0 to take effect immediately.
Sure enough, after SELinux is disabled, sqlplus can log on normally.
In fact, when permission denied appears above, you can also execute
# Chcon-T texrel_shlib_t $ ORACLE_HOME/lib/*. So
The problem can also be solved. As for chcon, you can see the SELinux command to understand it!
Original article:
[1] http://blog.csdn.net/wei801004/article/details/4318852
[2] http://nvd11.blog.163.com/blog/static/20001831220126295737199/