oplan生成PSU步骤失败
今天打算对测试环境安装PSU,由于已经习惯了使用oplan工具来偷偷懒,自动生成详细的实施步骤。结果在调用命令时报错如下:
[root@11grac1 ~]# $ORACLE_HOME/OPatch/oplan/oplan generateApplySteps /tmp/28429134/28429134
from oplan /u01/app/11.2.0.4/grid/OPatch/oplan/../auto/core/bin/../../core/modules/features/oracle.glcm.oplan.core.classpath.jar:/u01/app/11.2.0.4/grid/OPatch/oplan/../auto/core/bin/../../core/modules/features/oracle.glcm.osys.core.classpath.jar:/u01/app/11.2.0.4/grid/OPatch/oplan/../auto/core/bin/../../database/modules/oplan_db.jar
Processing request...
Review the log messages captured in the following file: /u01/app/11.2.0.4/grid/cfgtoollogs/oplan/2019-09-12-14-12-29/log.txt
sqlcmd: @rdbms/admin/catbundle_${PATCH_TYPE}_${Uppercase_ORACLE_SID}_ROLLBACK.sql
sqlcmd: @rdbms/admin/catbundle_${PATCH_TYPE}_${Uppercase_ORACLE_SID}_ROLLBACK.sql
Caught exception: Can't find bundle for base name oracle/oplan/db/readme/Bundle, locale en
Check /u01/app/11.2.0.4/grid/cfgtoollogs/oplan/2019-09-12-14-12-29/log.txt for details.
[root@11grac1 ~]#
查看上述报错信息中的log.txt文件:
SEVERE: Automation not (yet) recognized!
oracle.opatch.system.automation.jaxb.Automation@1217e615
Sep 12, 2019 2:21:27 PM oracle.oplan.sdk.readme.ReadmeFactory classifyPlans
SEVERE: Automation not (yet) recognized!
oracle.opatch.system.automation.jaxb.Automation@3cfa54fe
Sep 12, 2019 2:21:27 PM oracle.oplan.sdk.readme.ReadmeFactory classifyPlans
SEVERE: Automation not (yet) recognized!
oracle.opatch.system.automation.jaxb.Automation@6e30fc1f
Sep 12, 2019 2:21:27 PM oracle.oplan.sdk.oplan.OPlan main
SEVERE: Terminated by exception
java.util.MissingResourceException: Can't find bundle for base name oracle/oplan/db/readme/Bundle, locale en
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:952)
at oracle.oplan.sdk.resource.OPlanBundle.getReadmeMessage(OPlanBundle.java:104)
at oracle.oplan.core.readme.ReadmeGeneratorBase.<init>(ReadmeGeneratorBase.java:34)
at oracle.oplan.core.readme.TextReadmeGenerator.<init>(TextReadmeGenerator.java:56)
at oracle.oplan.core.readme.TextMultiReadmeGenerator.<init>(TextMultiReadmeGenerator.java:26)
at oracle.oplan.core.readme.IndexedTextReadmeGenerator.<init>(IndexedTextReadmeGenerator.java:19)
at oracle.oplan.sdk.readme.ReadmeFactory.generateReadme(ReadmeFactory.java:110)
at oracle.oplan.sdk.oplan.OPlan.process(OPlan.java:534)
at oracle.oplan.sdk.oplan.OPlan.generateApplySteps(OPlan.java:705)
at oracle.oplan.sdk.oplan.OPlan.main(OPlan.java:653)
根据log.txt中的信息,搜索到MOS《OPlan Fails with Caught exception: Can't find bundle for base name (文档 ID 2563518.1)》。文中的Workaround:
1. Update opatch to the older version, say, 12.2.0.1.14 opatch or earlier
2. Execute oplan for the desired patch : oplan generateApplySteps <bundle patch location>
这里想说明的是,这个workaround并不是非常准确,它提到12.2.0.1.14及之前的版本都可以。而实际上并非如此。我当前使用的opatch是11.2.0.3.21(它是11.2版本的最新一个opatch),仍然报错。
最终,我重新下载12.2.0.1.14版本的opatch,再次运行oplan工具时,成功生成步骤。
[root@11grac1 grid]# su - grid
[grid@11grac1 ~]$ opatch version
OPatch Version: 12.2.0.1.14
OPatch succeeded.
[grid@11grac1 ~]$ exit
logout
[root@11grac1 grid]# $ORACLE_HOME/OPatch/oplan/oplan generateApplySteps /tmp/28429134/28429134
from oplan /u01/app/11.2.0.4/grid/OPatch/oplan/../auto/core/bin/../../core/modules/features/oracle.glcm.oplan.core.classpath.jar:/u01/app/11.2.0.4/grid/OPatch/oplan/../auto/core/bin/../../core/modules/features/oracle.glcm.osys.core.classpath.jar:/u01/app/11.2.0.4/grid/OPatch/oplan/../auto/core/bin/../../database/modules/oplan_db.jar
Processing request...
Review the log messages captured in the following file: /u01/app/11.2.0.4/grid/cfgtoollogs/oplan/2019-09-12-14-32-58/log.txt
sqlcmd: @rdbms/admin/catbundle_${PATCH_TYPE}_${Uppercase_ORACLE_SID}_ROLLBACK.sql
sqlcmd: @rdbms/admin/catbundle_${PATCH_TYPE}_${Uppercase_ORACLE_SID}_ROLLBACK.sql
Success!
Follow the instructions outlined in the following Installation Instructions document and patch your system:
Apply Instructions (HTML) : /u01/app/11.2.0.4/grid/cfgtoollogs/oplan/2019-09-12-14-32-58/ApplyInstructions.html
Apply Instructions (TEXT) : /u01/app/11.2.0.4/grid/cfgtoollogs/oplan/2019-09-12-14-32-58/ApplyInstructions.txt
[root@11grac1 grid]#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署