OPatch报错 Prerequisite check "CheckActiveFilesAndExecutables" failed

问题现象:

在使用Opatch打补丁时,报下面的错误:

[root@customer bin]# <span style="color:#ff0000;">/u01/app/ora11g/product/11.2.0/db_1/OPatch/opatch auto /soft/psu/20299013/ -oh /u01/app/ora11g/product/11.2.0/db_1 -ocmrf /u01/app/ora11g/product/11.2.0/db_1/OPatch/ocm/bin/ocm.rsp</span>
Executing /u01/app/ora11g/product/11.2.0/grid/perl/bin/perl /u01/app/ora11g/product/11.2.0/db_1/OPatch/crs/patch11203.pl -patchdir /soft/psu -patchn 20299013 -oh /u01/app/ora11g/product/11.2.0/db_1 -ocmrf /u01/app/ora11g/product/11.2.0/db_1/OPatch/ocm/bin/ocm.rsp -paramfile /u01/app/ora11g/product/11.2.0/grid/crs/install/crsconfig_params

This is the main log file: /u01/app/ora11g/product/11.2.0/db_1/cfgtoollogs/opatchauto2015-06-15_15-50-31.log

This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:
/u01/app/ora11g/product/11.2.0/db_1/cfgtoollogs/opatchauto2015-06-15_15-50-31.report.log

2015-06-15 15:50:31: Starting Oracle Restart Patch Setup
Using configuration parameter file: /u01/app/ora11g/product/11.2.0/grid/crs/install/crsconfig_params
Enter 'yes' if you have unzipped this patch to an empty directory to proceed  (yes/no):yes
Enter 'yes' if you have unzipped this patch to an empty directory to proceed  (yes/no):yes
The opatch minimum version  check for patch /soft/psu/20299013/17478514 failed  for /u01/app/ora11g/product/11.2.0/db_1
The opatch minimum version  check for patch /soft/psu/20299013/18031668 failed  for /u01/app/ora11g/product/11.2.0/db_1
The opatch minimum version  check for patch /soft/psu/20299013/18522509 failed  for /u01/app/ora11g/product/11.2.0/db_1
The opatch minimum version  check for patch /soft/psu/20299013/19121551 failed  for /u01/app/ora11g/product/11.2.0/db_1
The opatch minimum version  check for patch /soft/psu/20299013/19769489 failed  for /u01/app/ora11g/product/11.2.0/db_1
The opatch minimum version  check for patch /soft/psu/20299013/20299013 failed  for /u01/app/ora11g/product/11.2.0/db_1
Opatch version check failed for oracle home  /u01/app/ora11g/product/11.2.0/db_1
Opatch version  check failed
ERROR: update the opatch version for the failed homes and retry

opatch auto failed.

表面上看像是OPatch版本太低的问题,其实我的OPatch已经是最高版本了!这个报错表面看很有误导性,我接着更一进一步的看日志!


查看OPatch日志:

[2015-6-15 16:26:29]         Following executables are active :
                             /u01/app/ora11g/product/11.2.0/db_1/lib/libclntsh.so.11.1
[2015-6-15 16:26:29]         Prerequisite check "CheckActiveFilesAndExecutables" failed.
                             The details are:
                             
                             
                             Following executables are active :
                             /u01/app/ora11g/product/11.2.0/db_1/lib/libclntsh.so.11.1
[2015-6-15 16:26:29]         Start fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/bin/proc at Mon Jun 15 16:26:29 CST
 2015
[2015-6-15 16:26:29]         Finish fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/bin/proc at Mon Jun 15 16:26:29 CS
T 2015
[2015-6-15 16:26:29]         Start fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/lib/liborasdkbase.so.11.1 at Mon Ju
n 15 16:26:29 CST 2015
[2015-6-15 16:26:29]         Finish fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/lib/liborasdkbase.so.11.1 at Mon J
un 15 16:26:29 CST 2015
[2015-6-15 16:26:29]         Start fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/bin/wrap at Mon Jun 15 16:26:29 CST
 2015
[2015-6-15 16:26:29]         Finish fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/bin/wrap at Mon Jun 15 16:26:29 CS
T 2015
[2015-6-15 16:26:29]         Start fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/bin/e2eme at Mon Jun 15 16:26:29 CS
T 2015
[2015-6-15 16:26:29]         Finish fuser command /sbin/fuser /u01/app/ora11g/product/11.2.0/db_1/bin/e2eme at Mon Jun 15 16:26:29 C
ST 2015
[2015-6-15 16:26:29]         OUI-67073:UtilSession 失败: Prerequisite check "CheckActiveFilesAndExecutables" failed.
[2015-6-15 16:26:29]         Finishing UtilSession at Mon Jun 15 16:26:29 CST 2015
[2015-6-15 16:26:29]         Log file location: /u01/app/ora11g/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2015-06-15_16-26-24下午
_1.log
[2015-6-15 16:26:29]         堆栈说明: java.lang.RuntimeException: Prerequisite check "CheckActiveFilesAndExecutables" failed.
[2015-6-15 16:26:29]         堆栈跟踪: oracle.opatch.OPatchSessionHelper.runApplyPrereqs(OPatchSessionHelper.java:5717)
[2015-6-15 16:26:29]         堆栈跟踪: oracle.opatch.opatchutil.NApply.process(NApply.java:697)
[2015-6-15 16:26:29]         堆栈跟踪: oracle.opatch.opatchutil.OUSession.napply(OUSession.java:1082)
[2015-6-15 16:26:29]         堆栈跟踪: sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2015-6-15 16:26:29]         堆栈跟踪: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[2015-6-15 16:26:29]         堆栈跟踪: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[2015-6-15 16:26:29]         堆栈跟踪: java.lang.reflect.Method.invoke(Method.java:592)
[2015-6-15 16:26:29]         堆栈跟踪: oracle.opatch.UtilSession.process(UtilSession.java:317)
[2015-6-15 16:26:29]         堆栈跟踪: oracle.opatch.OPatchSession.main(OPatchSession.java:2575)
[2015-6-15 16:26:29]         堆栈跟踪: oracle.opatch.OPatch.main(OPatch.java:626)

可以看到主要问题是“OUI-67073:UtilSession 失败: Prerequisite check "CheckActiveFilesAndExecutables" failed.”
看上去应该是有活动的文件进程导致打patch不能进行

具体参考Metalink: 148501.1


解决办法:

1.停止数据库和监听
2.kill掉所有与oracle相关的进程

[oracle@customer OPatch]$ ps -ef|grep smon
oracle   31593 20962  0 16:32 pts/2    00:00:00 grep smon
[oracle@customer OPatch]$ ps -ef|grep ora
root      8418  8393  0 10:57 pts/1    00:00:00 su - oracle
oracle    8419  8418  0 10:57 pts/1    00:00:00 -bash
root     20961 28684  0 15:52 pts/2    00:00:00 su - oracle
oracle   20962 20961  0 15:52 pts/2    00:00:00 -bash
oracle   21978     1  0 13:52 pts/1    00:00:01 /u01/app/ora11g/product/11.2.0/db_1/perl/bin/perl /u01/app/ora11g/product/11.2.0/db_1/bin/emwd.pl dbconsole /u01/app/ora11g/product/11.2.0/db_1/customer_custdb/sysman/log/emdb.nohup
oracle   22059 21978  0 13:52 pts/1    00:00:23 /u01/app/ora11g/product/11.2.0/db_1/bin/emagent
oracle   25437     1  0 14:43 ?        00:00:17 /u01/app/ora11g/product/11.2.0/grid/bin/ohasd.bin reboot
oracle   26757 21978  0 14:50 pts/1    00:00:56 /u01/app/ora11g/product/11.2.0/db_1/jdk/bin/java -server -Xmx384M -XX:MaxPermSize=400M -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -DORACLE_HOME=/u01/app/ora11g/product/11.2.0/db_1 -Doracle.home=/u01/app/ora11g/product/11.2.0/db_1/oc4j -Doracle.oc4j.localhome=/u01/app/ora11g/product/11.2.0/db_1/customer_custdb/sysman -DEMSTATE=/u01/app/ora11g/product/11.2.0/db_1/customer_custdb -Doracle.j2ee.dont.use.memory.archive=true -Djava.protocol.handler.pkgs=HTTPClient -Doracle.security.jazn.config=/u01/app/ora11g/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_customer_custdb/config/jazn.xml -Djava.security.policy=/u01/app/ora11g/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_customer_custdb/config/java2.policy -Djavax.net.ssl.KeyStore=/u01/app/ora11g/product/11.2.0/db_1/sysman/config/OCMTrustedCerts.txt-Djava.security.properties=/u01/app/ora11g/product/11.2.0/db_1/oc4j/j2ee/home/config/jazn.security.props -DEMDROOT=/u01/app/ora11g/product/11.2.0/db_1/customer_custdb -Dsysman.md5password=true -Drepapi.oracle.home=/u01/app/ora11g/product/11.2.0/db_1 -Ddisable.checkForUpdate=true -Doracle.sysman.ccr.ocmSDK.websvc.keystore=/u01/app/ora11g/product/11.2.0/db_1/jlib/emocmclnt.ks -Dice.pilots.html4.ignoreNonGenericFonts=true -Djava.awt.headless=true -jar /u01/app/ora11g/product/11.2.0/db_1/oc4j/j2ee/home/oc4j.jar -config /u01/app/ora11g/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_customer_custdb/config/server.xml
root     30019 27092  0 16:20 pts/0    00:00:00 su - oracle
oracle   30020 30019  0 16:20 pts/0    00:00:00 -bash
oracle   31594 20962  1 16:32 pts/2    00:00:00 ps -ef
oracle   31595 20962  0 16:32 pts/2    00:00:00 grep ora

--kill进程
[oracle@customer OPatch]$ kill -9 21978
[oracle@customer OPatch]$ kill -9 26757
[oracle@customer OPatch]$ kill -9 22059
[oracle@customer OPatch]$ kill -9 25437

[oracle@customer OPatch]$ ps -ef|grep ora
root      8418  8393  0 10:57 pts/1    00:00:00 su - oracle
oracle    8419  8418  0 10:57 pts/1    00:00:00 -bash
root     20961 28684  0 15:52 pts/2    00:00:00 su - oracle
oracle   20962 20961  0 15:52 pts/2    00:00:00 -bash
root     30019 27092  0 16:20 pts/0    00:00:00 su - oracle
oracle   30020 30019  0 16:20 pts/0    00:00:00 -bash
oracle   32038     1  1 16:34 ?        00:00:00 /u01/app/ora11g/product/11.2.0/grid/bin/ohasd.bin restart
oracle   32132 20962  1 16:35 pts/2    00:00:00 ps -ef
oracle   32133 20962  0 16:35 pts/2    00:00:00 grep ora

再次进行OPatch命令正常!





你可能感兴趣的:(OPatch报错 Prerequisite check "CheckActiveFilesAndExecutables" failed)