asmcmd 报错解决

RHEL 5.4 服务器上运行的一套 oracle 10g ASM的数据库,在调用asmcmd的时候遇到如下错误:

[oracle@rhel10g ~]$ asmcmd
install_driver(Oracle) failed: Can't load 
'/u01/app/oracle/perl/lib/site_perl/5.8.3/i686-linux-thread-multi/auto/DBD/Oracle/Oracle.so'
 for module DBD::Oracle: /u01/app/oracle/lib/libnnz10.so: cannot restore
 segment prot after reloc: Permission denied at
 /u01/app/oracle/perl/lib/5.8.3/i686-linux-thread-multi/DynaLoader.pm line 229.
 at (eval 2) line 3Compilation failed in require at (eval 2) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at /u01/app/oracle/bin/asmcmdcore line 5953
[oracle@rhel10g ~]$ 

Google 之,给出解决方法:

关闭SELinux:

[oracle@rhel10g ~]$ su - root

Password:

[root@rhel10g ~]# setenforce 0

[root@rhel10g ~]# exit

logout

[oracle@rhel10g ~]$ export ORACLE_SID=+ASM

[oracle@rhel10g ~]$ asmcmd

ASMCMD>

问题基本解决,具体原因有待进一步探究!!!