ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在windows 打补丁遇到CODE=41的错误

在windows 打补丁遇到CODE=41的错误

原创 Linux操作系统 作者:kewin 时间:2012-07-31 14:17:54 0 删除 编辑
在windows 2008 R2, Oracle 11.2.0.3 环境,打最新的patch,
遇到错误:
following files are active :
d:\oracle\product\11.2.0\dbhome_1\bin\oracommon11.dll
d:\oracle\product\11.2.0\dbhome_1\bin\oraclient11.dll
d:\oracle\product\11.2.0\dbhome_1\bin\orageneric11.dll
d:\oracle\product\11.2.0\dbhome_1\bin\orapls11.dll
d:\oracle\product\11.2.0\dbhome_1\bin\oran11.dll
d:\oracle\product\11.2.0\dbhome_1\bin\oraxml11.dll
d:\oracle\product\11.2.0\dbhome_1\bin\oci.dll
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\grid\oui\jlib\srvm.jar
d:\oracle\product\11.2.0\dbhome_1\bin\orahasgen11.dll
d:\oracle\product\11.2.0\dbhome_1\bin\orahasgen11.dll

这里有两个问题:
1) 
使用了Process Explorer 查看发现使用oci.dll文件的进程,用taskkill /f /pid删除进程,用Process Explorer查看没有文件被占用,安装READ ME的指导安装patch,在安装过程提示,有某些文件不能COPY, 补丁失败。

再次用Process Explorer检查,发现又有进程在使用该文件,进程名称为 WMIPRVSE ,该进程为守护进程,被删掉后,windows会自动派生该进程。只能去到SERICE 管理界面把 Windows Management Instrumentation 进程该PAUSE,重新安装补丁。
2)SRVM.JAR文件是由于BUG的问题 ,Bug 13902704: SRVM.JAR IS LOCKED BY OPATCH 11.2.0.3.
按照这个方案解决就可以:
move %ORACLE_HOME%\OPatch\jlib\oracle.opatch.classpath.jar %ORACLE_HOME%\OPatch\jlib\oracle.opatch.classpath1.jar
opatch apply
move %ORACLE_HOME%\OPatch\jlib\oracle.opatch.classpath1.jar %ORACLE_HOME%\OPatch\jlib\oracle.opatch.classpath.jar

到此,CODE=41的问题彻底解决。
别忘记要重启Windows Management Instrumentation 的进程。

Kevin Zou





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/40239/viewspace-739184/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-03-10

  • 博文量
    125
  • 访问量
    579613