问题现象:
在使用Opatch打补丁时,报下面的错误:
[[email protected] 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相关的进程
[[email protected] OPatch]$ ps -ef|grep smon oracle 31593 20962 0 16:32 pts/2 00:00:00 grep smon [[email protected] 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进程 [[email protected] OPatch]$ kill -9 21978 [[email protected] OPatch]$ kill -9 26757 [[email protected] OPatch]$ kill -9 22059 [[email protected] OPatch]$ kill -9 25437 [[email protected] 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命令正常!
时间: 2024-10-28 12:42:22