博客
关于我
12.2 DB测试环境启动报错ORA-20001
阅读量:520 次
发布时间:2019-03-06

本文共 8128 字,大约阅读时间需要 27 分钟。

一、报错

测试库12.2 DB 启动,观察DB Alert存在报错信息

Completed: ALTER DATABASE OPEN2021-03-04T22:39:51.795680+08:00Unable to obtain current patch information due to error: 20001, ORA-20001: Latest xml inventory is not loaded into tableORA-06512: 在 "SYS.DBMS_QOPATCH", line 777ORA-06512: 在 "SYS.DBMS_QOPATCH", line 864ORA-06512: 在 "SYS.DBMS_QOPATCH", line 2222ORA-06512: 在 "SYS.DBMS_QOPATCH", line 740ORA-06512: 在 "SYS.DBMS_QOPATCH", line 2247===========================================================Dumping current patch information===========================================================Unable to obtain current patch information due to error: 20001===========================================================

 

二、参考学习

12.2:DB Alert.log shows ORA-20001: Latest xml inventory,ORA-06512: at "SYS.DBMS_QOPATCH","KUP-04004: error while reading file" (Doc ID 2323937.1)
https://www.xifenfei.com/2018/01/orainventory-ora-20001.html

 

三、问题排查

3.1 参考MOS处理,非权限问题

SQL> select * from OPATCH_XML_INV ;ERROR:ORA-29913: error in executing ODCIEXTTABLEFETCH calloutORA-29400: data cartridge errorKUP-04004: error while reading file/picclife/app/oracle/product/12.2.0/db_1/QOpatch/qopiprep.batselect xmltransform(dbms_qopatch.get_opatch_lsinventory(), dbms_qopatch.GET_OPATCH_XSLT()) from dual ;ERROR:ORA-20001: Latest xml inventory is not loaded into tableORA-06512: at "SYS.DBMS_QOPATCH", line 777ORA-06512: at "SYS.DBMS_QOPATCH", line 864ORA-06512: at "SYS.DBMS_QOPATCH", line 2222ORA-06512: at "SYS.DBMS_QOPATCH", line 740ORA-06512: at "SYS.DBMS_QOPATCH", line 2247datapatch -prereq报错$ $ORACLE_HOME/OPatch/datapatch -prereq                                                                   SQL Patching tool version 12.2.0.1.0 Production on Thu Mar  4 22:49:46 2021Copyright (c) 2012, 2017, Oracle.  All rights reserved.Connecting to database...OKNote:  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)Queryable inventory could not determine the current opatch status.Execute 'select dbms_sqlpatch.verify_queryable_inventory from dual'and/or check the invocation log/picclife/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_8718_2021_03_04_22_49_46/sqlpatch_invocation.logfor the complete error.Prereq check failed, exiting without installing any patches.Please refer to MOS Note 1609718.1 and/or the invocation log/picclife/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_8718_2021_03_04_22_49_46/sqlpatch_invocation.logfor information on how to resolve the above errors.SQL Patching tool complete on Thu Mar  4 22:49:50 2021

c11:/picclife/app/oracle$ tail -200f /picclife/app/oracle/product/12.2.0/db_1/rdbms/log/qopatch_log.log

LOG file opened at 03/04/21 22:43:13

 

KUP-05007: Warning: Intra source concurrency disabled because the preprocessor option is being used.

 

Field Definitions for table OPATCH_XML_INV

Record format DELIMITED BY NEWLINE
Data in file has same endianness as the platform
Reject rows with all null fields

 

Fields in Data Source:

 

XML_INVENTORY CHAR (100000000)

Terminated by "UIJSVTBOEIZBEFFQBL"
Trim whitespace same as SQL Loader
KUP-04004: error while reading file /picclife/app/oracle/product/12.2.0/db_1/QOpatch/qopiprep.bat
KUP-04017: OS message: Error 0
KUP-04017: OS message: OPatch cannot find a valid oraInst.loc file to locate Central Inventory.
cat: /picclife/app/oracle/product/12.2.0/db_1/rdbms/log/xml_file_c11.xml: No such file
KUP-04118: operation "pipe read", location "skudmir:2"

 

$ ls -ld $ORACLE_HOME/rdbms/log

drwxr-xr-x. 2 oracle oinstall 4096 3月 4 22:43 /picclife/app/oracle/product/12.2.0/db_1/rdbms/log
$ chmod 775 /picclife/app/oracle/product/12.2.0/db_1/rdbms/log

 

 

3.2  问题定位

OPatch 找不到有效的 oraInst.loc 文件来定位主产品清单。

c11:/picclife/app/oracle/product/12.2.0/db_1/OPatch$ ./opatch lsinventoryOracle 中间补丁程序安装程序版本 12.2.0.1.6版权所有 (c) 2021, Oracle Corporation。保留所有权利。Oracle Home       : /picclife/app/oracle/product/12.2.0/db_1Central Inventory : n/a   from           : /picclife/app/oracle/product/12.2.0/db_1/oraInst.locOPatch version    : 12.2.0.1.6OUI version       : 12.2.0.1.4Log file location : /picclife/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatch/opatch2021-03-04_22-52-09下午_1.logOPatch 找不到有效的 oraInst.loc 文件来定位主产品清单。OPatch failed with error code 104

查询日志

# cat /picclife/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatch/opatch2021-03-04_22-52-09下午_1.log[2021-3-4 22:52:09]          OUI exists, the oraclehome is OUI based.[2021-3-4 22:52:09]          OUI exists, the oraclehome is OUI based.[2021-3-4 22:52:09]          OPatch invoked as follows: 'lsinventory -invPtrLoc /picclife/app/oracle/product/12.2.0/db_1/oraInst.loc '[2021-3-4 22:52:09]          OUI-67077:                             Oracle 主目录       : /picclife/app/oracle/product/12.2.0/db_1                             主产品清单: n/a                                从           : /picclife/app/oracle/product/12.2.0/db_1/oraInst.loc                             OPatch 版本    : 12.2.0.1.6                             OUI 版本       : 12.2.0.1.4                             OUI 位置      : /picclife/app/oracle/product/12.2.0/db_1/oui                             日志文件位置 : /picclife/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatch/opatch2021-03-04_22-52-09下午_1.log[2021-3-4 22:52:09]          Patch history file: /picclife/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatch/opatch_history.txt[2021-3-4 22:52:09]          OUI-67104:OPatch 找不到有效的 oraInst.loc 文件来定位主产品清单。[2021-3-4 22:52:09]          堆栈说明: java.lang.RuntimeException: OPatch 找不到有效的 oraInst.loc 文件来定位主产品清单。[2021-3-4 22:52:09]          堆栈跟踪: oracle.opatch.OPatchEnv.printOPatchHeader(OPatchEnv.java:6225)[2021-3-4 22:52:09]          堆栈跟踪: oracle.opatch.OPatchSession.process(OPatchSession.java:1925)[2021-3-4 22:52:09]          堆栈跟踪: oracle.opatch.OPatch.process(OPatch.java:796)[2021-3-4 22:52:09]          堆栈跟踪: oracle.opatch.OPatch.main(OPatch.java:846)

观察oraInst.loc 文件

# cat /etc/oraInst.loc inventory_loc=/picclife/app/oraInventoryinst_group=oinstall

# ls -ld /etc/oraInst.loc

-rw-r--r--. 1 root root 61 5月 24 2019 /etc/oraInst.loc

这个权限oracle 根本无法读取,再次找其它的oraInst.loc文件

检查文本信息! 找到了Oracle Opatch读取的oraInst.loc配置文件!

发现缺失了一个i字符! ??? 

$ cat /picclife/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatch/opatch_history.txtDate & Time : Thu Mar 04 22:55:22 CST 2021Oracle Home : /picclife/app/oracle/product/12.2.0/db_1OPatch Ver. : 12.2.0.1.6Current Dir : /picclife/app/oracle/product/12.2.0/db_1/OPatchCommand     : lsinv -invPtrLoc /picclife/app/oracle/product/12.2.0/db_1/oraInst.loc Log File    : /picclife/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatch/opatch2021-03-04_22-55-22下午_1.logc11:/picclife/app/oracle/product/12.2.0/db_1/OPatch$ cat /picclife/app/oracle/product/12.2.0/db_1/oraInst.loc nventory_loc=/picclife/app/oraInventoryinst_group=oinstall 修改

inventory_loc=/picclife/app/oraInventory

 

3.3 验证

$ ls -lrt /picclife/app/oracle/product/12.2.0/db_1/oraInst.loc -rw-r-----. 1 oracle oinstall 61 5月  24 2019 /picclife/app/oracle/product/12.2.0/db_1/oraInst.loc$ vi /picclife/app/oracle/product/12.2.0/db_1/oraInst.loc inst_group=oinstall$ ./opatch lsinv已安装的顶级产品 (1):Oracle Database 12c                                                  12.2.0.1.0此 Oracle 主目录中已安装 1 个产品。此 Oracle 主目录中未安装任何中间补丁程序。--------------------------------------------------------------------------------OPatch succeeded.$ $ORACLE_HOME/OPatch/datapatch -prereq  SQL Patching tool version 12.2.0.1.0 Production on Thu Mar  4 23:03:19 2021Copyright (c) 2012, 2017, Oracle.  All rights reserved.Connecting to database...OKNote:  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)Determining current state...doneAdding patches to installation queue and performing prereq checks...doneInstallation queue:  For the following PDBs: CDB$ROOT PDB$SEED C11PDB    Nothing to roll back    Nothing to applySQL Patching tool complete on Thu Mar  4 23:03:29 2021 重启OK

 

转载地址:http://uolyz.baihongyu.com/

你可能感兴趣的文章
mysql-connector-java各种版本下载地址
查看>>
mysql-EXPLAIN
查看>>
mysql-group_concat
查看>>
MySQL-redo日志
查看>>
MySQL-【1】配置
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>
MySQL-数据页的结构
查看>>
MySQL-架构篇
查看>>
MySQL-索引的分类(聚簇索引、二级索引、联合索引)
查看>>
Mysql-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>