`

ASMCMD fails to start on module libnnz10.so, permission denied

阅读更多
ASMCMD fails to start on module libnnz10.so, permission denied [ID 790470.1]  

  修改时间 17-MAR-2009     类型 PROBLEM     状态 PUBLISHED  


Applies to:

Oracle Server Enterprise Edition - Version: 11.1.0.6 to 11.1.0.7
This problem can occur on any platform.
ASM - Version: 11.1.0.6 to 11.1.0.7
Red Hat Advanced Server
Linux x86-64
RHEL 5 and OEL 5 only. RHEL 4 and OEL 4 are not affected. This is because of the more aggressive way that SELinux policies are enforced in RHEL 5 and OEL 5.

Symptoms

Immediately after a successful ASM installation, ASMCMD will not start:

$ echo $ORACLE_HOME
/opt/oracle/10.2.0
$ export ORACLE_SID=+ASM
$ asmcmd
install_driver(Oracle) failed: Can't load '/opt/oracle/10.2.0/perl/lib/site_perl/5.8.3/i686-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: /opt/oracle/10.2.0/lib32/libnnz10.so: cannot restore segment prot after reloc: Permission denied at /opt/oracle/10.2.0/perl/lib/5.8.3/i686-linux-thread-multi/DynaLoader.pm line 229.
at (eval 2) line 3
Compilation failed in require at (eval 2) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /opt/oracle/10.2.0/bin/asmcmdcore line 5953

Changes

SELINUX policy "Enforcing" causes the permission problem.

Cause

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.


This is fixed in the forthcoming version 11.2. No fix is available for the current versions. Please use the workaround presented below.

Solution


Switch the SELinux from the default "Enforcing" mode that it is running in, to the "Permissive" mode.

Commands, as root:
======================
getenforce (returns "Enforcing")
setenforce 0
getenforce (returns "Permissive")

The commands for the workaround are immediate, and will remain in effect until the next reboot.

Please also ensure that SELinux "Permissive" enforcing is set at boot time by adding "enforcing=0" to the kernel boot line. An example of setting the SELinux mode to permissive from GRUB could be as follows:

title Red Hat Enterprise Linux ES (2.6.18-8.EL)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.EL ro root=/dev/VolGroup00/LogVol00 rhgb quiet enforcing=0
initrd /initrd-2.6.18-8.EL.img

Another example as follows:

/etc/selinux/config

and add:
selinux=0
SELINUX=disabled

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics