asmcmd的一個問題

inthirties2發表於2010-02-25
在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的問題以後也是引起一個故障而思考的方向
[@more@]

asmcmd的一個問題

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21565006/viewspace-1031429/,如需轉載,請註明出處,否則將追究法律責任。

相關文章