今天打算对测试环境安装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]#