ITPub博客

首页 > 数据库 > Oracle > ORACLE 12.1.0.2 for linux7.6 应用PSU补丁31550110中的巨坑

ORACLE 12.1.0.2 for linux7.6 应用PSU补丁31550110中的巨坑

原创 Oracle 作者:清风艾艾 时间:2021-10-26 10:54:11 0 删除 编辑

    一同事,在对ORACLE 12.1.0.2 for linux7.6 应用PSU补丁31550110时,遇到了各种巨坑。

    首先,在Patch  31550110 apply的过程中,没有任何异常,按照PSU 31550110的readme,在apply执行完成后,

无论单纯的单实例还是CDB容器库都需要执行./datapatch -verbose。

     但是,在执行 ./datapatch -verbose时,操作日志提示报错信息如下:

    按照 datapatch -verbose日志提示,分别在CDB和PDB数据库执行select dbms_sqlpatch.verify_queryable_inventory

 from dual;均提示错误信息:

    其次,依经验需要排除PSU31550110的影响,处理方法是回退PSU31550110再执行select

 dbms_sqlpatch.verify_queryable_inventory  from dual;是否有同样的错误信息提示。回退 PSU31550110后再执行查询

dbms_sqlpatch.verify_queryable_inventory  from dual;,无论是CDB还是PDB依然是 KUP-00554 KUP-01005 KUP-01008 KUP-01007的报错信息提示。所以,可以确定 KUP-00554 KUP-01005 KUP-01008 KUP-01007问题在 PSU31550110应用之前就存在。 PSU31550110应用之前,需要先处理 KUP-00554 KUP-01005 KUP-01008 KUP-01007

报错问题。

    按照KUP-00554 KUP-01005 KUP-01008 KUP-01007在oracle mos查询到文档Doc ID 2302799.1。

Doc ID 2302799.1提示的对应数据库版本与本次操作的数据库版本一致:

Doc ID 2302799.1提示的现象与本次操作的报错信息一致:

Doc ID 2302799.1提示的问题处理方法是重建OPATCH_XML_INV表,重建过程如下:

需要注意的是: OPATCH_XML_INV表重建需要在CDB层次 2302799.1没有特别说明 操作。

    再次,重建 OPATCH_XML_INV后,重新应用补丁集31550110也是成功的, datapatch -verbose不再有异常提示信息:

oracle$[/app/oracle/product/12.1.0/dbhome_1/OPatch]./datapatch -verbose

SQL Patching tool version 12.1.0.2.0 Production on Mon Oct 25 18:04:27 2021

Copyright (c) 2012, 2016, Oracle.  All rights reserved.


Log file for this invocation: /app/oracle/cfgtoollogs/sqlpatch/sqlpatch_28324_2021_10_25_18_04_27/sqlpatch_invocation.log


Connecting to database...OK

Note:  Datapatch will only apply or rollback SQL fixes for PDBs

       that are in an open state, no patches will be applied to closed PDBs.

       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation

       (Doc ID 1585822.1)

Bootstrapping registry and package to current versions...done

Determining current state...done


Current state of SQL patches:

Bundle series PSU:

  ID 201020 in the binary registry and ID 201020 in PDB CDB$ROOT, ID 201020 in PDB PDB$SEED, ID 201020 in PDB PDBORCL


Adding patches to installation queue and performing prereq checks...

Installation queue:

  For the following PDBs: CDB$ROOT

    Nothing to roll back

    Nothing to apply

  For the following PDBs: PDB$SEED PDBORCL

    Nothing to roll back

    The following patches will be applied:

      31550110 (DATABASE PATCH SET UPDATE 12.1.0.2.201020)


Installing patches...

Patch installation complete.  Total patches installed: 2


Validating logfiles...

Patch 31550110 apply (pdb PDB$SEED): SUCCESS

  logfile: /app/oracle/cfgtoollogs/sqlpatch/31550110/23839756/31550110_apply_ORCL_PDBSEED_2021Oct25_18_04_50.log (no errors)

Patch 31550110 apply (pdb PDBORCL): SUCCESS

  logfile: /app/oracle/cfgtoollogs/sqlpatch/31550110/23839756/31550110_apply_ORCL_PDBORCL_2021Oct25_18_04_51.log (no errors)

    在CDB层次执行查询select dbms_sqlpatch.verify_queryable_inventory  from dual;正常返回结果:

    但是,在PDB中执行 select dbms_sqlpatch.verify_queryable_inventory  from dual;返回错误信息:

关于KUP-00554 KUP-01005 KUP-01008 KUP-01007报错问题,MOS上有另外一篇文档Doc ID 2293336.1有说明:

按照 Doc ID 2293336.1文档提示, select dbms_sqlpatch.verify_queryable_inventory  from dual;查询只能在CDB层次

执行,PDB层次不支持。

    总结:

    1. KUP-00554 KUP-01005 KUP-01008 KUP-01007报错问题,CDB中需要重建表 OPATCH_XML_INV;

    2. PDB中 KUP-00554 KUP-01005 KUP-01008 KUP-01007报错问题可忽略








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

请登录后发表评论 登录
全部评论
个人喜欢IT行业,目前从事数据库工作,包括Oracle、mysql、mongodb、sqlserver等数据库的维护,喜欢专研开发技术,尤其对java程序的开发感兴趣。工作经历上,在中国联通系统集成公司、中公网医疗信息技术有限公司做过数据库技术支持;目前在海量数据,负责华东区oracle、mysql、mongodb的维护工作。

注册时间:2015-01-30

  • 博文量
    238
  • 访问量
    446280