博客
关于我
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/

你可能感兴趣的文章
Webpack 之 basic chunk graph
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
Mysql8 数据库安装及主从配置 | Spring Cloud 2
查看>>
mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MYSQL8.0以上忘记root密码
查看>>
Mysql8.0以上重置初始密码的方法
查看>>
mysql8.0新特性-自增变量的持久化
查看>>
Mysql8.0注意url变更写法
查看>>
Mysql8.0的特性
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8修改密码的方法
查看>>
Mysql8在Centos上安装后忘记root密码如何重新设置
查看>>
Mysql8在Windows上离线安装时忘记root密码
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>