在64bit的Centos5上运行asmcmd
[oracle@inthrac01 ~]$ asmcmd
install_driver(Oracle) failed: Can't load
'/u01/app/oracle/product/10.2.0/db_1/perl/lib/site_perl/5.8.3/i686-linux-thread-multi/auto/DBD/Oracle/Oracle.so'
for module DBD::Oracle:
/u01/app/oracle/product/10.2.0/db_1/lib32/libnnz10.so: cannot restore
segment prot after reloc: Permission denied at
/u01/app/oracle/product/10.2.0/db_1/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 /u01/app/oracle/product/10.2.0/db_1/bin/asmcmdcore line 5953
在OTN上找到解决方法,原来是SELINUX导致的,我没有禁止SELINUX,虽然Oracle的文档明确写到要禁用SELINUX,但是我以前从没有因为SELINUX导致问题,所以经常忽略了这一步,这不这次就出现了这个问题
解决方法,禁止掉SELINUX或者SELINUX的级别设置到Permissive
修改/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
将这里的enforcing修改为permissive 或者是 disabled(禁用)
SELINUX=permissive
或者调用setenforce 0也可以
以下是这里的三个参数的解释
enforcing 任何违法SElinux的操作都被禁止。
permissive 任何违反SElinux的操作都会受到一个警告信息。但是行动可以继续。
disabled 不启用SElinux策略。
看来selinux的问题以后也是引起一个故障而思考的方向
搜索更多相关主题的帖子: setenforce selinux asmcmd
[@more@]
asmcmd的一个问题
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21565006/viewspace-1031429/
,如需转载,请注明出处,否则将追究法律责任。