目录

  • 问题描述
  • 问题原因
  • 解决办法

问题描述

数据库启动报ORA-20001错

2020-09-16T13:04:29.357786+08:00
Unable to obtain current patch information due to error: 20001, ORA-20001: Latest xml inventory is not loaded into table
ORA-06512: at “SYS.DBMS_QOPATCH”, line 777
ORA-06512: at “SYS.DBMS_QOPATCH”, line 864
ORA-06512: at “SYS.DBMS_QOPATCH”, line 2222
ORA-06512: at “SYS.DBMS_QOPATCH”, line 740
ORA-06512: at “SYS.DBMS_QOPATCH”, line 2247

报错显示QOPATCH的问题,进入OPatch目录(%ORACLE_HOME%/OPatch),使用 opatch lsinventory命令查看,信息如下:

F:\Oracle\OracleDB\product\12.2.0\dbhome_1\OPatch>opatch lsinventory
Oracle 中间补丁程序安装程序版本 12.2.0.1.6
版权所有 © 2020, Oracle Corporation。保留所有权利。
Oracle Home : F:\Oracle\OracleDB\product\12.2.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
from :
OPatch version : 12.2.0.1.6
OUI version : 12.2.0.1.4
Log file location : F:\Oracle\OracleDB\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2020-09-16_15-20-55下午_1.log
List of Homes on this system:
LsInventorySession 失败: RawInventory gets null OracleHomeInfo
OPatch failed with error code = 73

OUI-67073:LsInventorySession 失败: RawInventory gets null OracleHomeInfo 错误

问题原因

DBMS_QOPATCH包是提供PLSQL/SQL接口方式访问数据库补丁安装情况,oracle在启动的时候会去调用这个包查询patch情况,由于OPatch通过OracleHomeInfo检索Oracle的home目录,而Central Inventory记录了Oracle安装的所有组件路径,但是Central Inventory中记录的信息是从上面信息的from :这个文件中来的,但是这个地方显示路径是空,通过注册表查看inst_Ioc注册项,发现C:\Program Files\Oracle\Inventory 下是空的

from: 后面的这个文件叫Central Inventory Pointer File。
这个指向文件在不同的操作系统上有不同的默认位置,例如: Linux And AIX — /etc/oraInst.loc Other
Unix Platforms — /var/opt/oracle/oraInst.loc Windows — The pointer is
located in the registry key:
\HKEY_LOCAL_MACHINE\Software\Oracle\inst_loc Opatch就是通过Central
Inventory Pointer File找到< Central Inventory> 的路径,然后读取ORACLE_HOME的详细信息的。

解决办法

oracle重建Central Inventory
linux重建的办法网上很多,此次在windows系统重建

  1. 进入 %ORACLE_HOME%\oui\bin目录
  2. 执行setup.exe -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="<Oracle_Home_Location>" ORACLE_HOME_NAME="<Name_Of _Oracle_Home>"

例如:
ORACLE_HOME=F:\Oracle\OracleDB\product\12.2.0\dbhome_1
ORACLE_HOME_NAME=OraDB12Home1

 setup.exe -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="F:\Oracle\OracleDB\product\12.2.0\dbhome_1" ORACLE_HOME_NAME="OraDB12Home1"

ORA-20001: Latest xml inventory is not loaded into table相关推荐

  1. 07 ORA系列:ORA-01747 或列说明无效 user.table.column, table.column

    如果希望对常见的Oracle异常ORA报错解决方案有系统的了解,请看<ORACLE系列异常总结ORA>. 1.通常错误原因 表中字段名称与数据库中关键名称冲突了. 比如: 表中字段名称为r ...

  2. 03 ORA系列:ORA-00942 表或视图不存在 table or view does not exist

    如果希望对常见的Oracle异常ORA报错解决方案有系统的了解,请看<ORACLE系列异常总结ORA>. 原因: 1.表或视图名称拼写错误 2.表或视图在其他用户下,或用户名写错 比如:t ...

  3. oracle 19c dbua升级时ORA-20001报错的分析

    近期,一个项目在数据库从12.1升级19.3时,DBUA运行时遇到报错,分析日志为prereq checks failed检查失败,具体为:verify_queryable_inventory ret ...

  4. oracle inventory directory,oraInventory目录的作用

    oraInventory目录的作用 2019-03-14 What is oraInventory ?oraInventory is repository (directory) which stor ...

  5. Ibatis学习总结2--SQL Map XML 配置文件

    SQL Map 使用 XML 配置文件统一配置不同的属性,包括 DataSource 的详细配置信息, SQL Map 和其他可选属性,如线程管理等.以下是 SQL Map 配置文件的一个例子: Sq ...

  6. pymavlink 源码剖析(一)之XML文件的数据解析

    文章目录 1 引言 2 pymavlink 的代码自动生成方法 3 XML 文件的数据解析 3.1 XML 文件预处理 3.2 解析 XML 的数据 3.2.1 依据协议版本初始化一些版本特征变量 3 ...

  7. java xml sql_走进 SQL/XML

    DBA:XML 走进 SQL/XML 作者:Tim Quinlan 概览 SQL 与 XML 的互操作性,了解如何着手处理存储在数据库中的 XML 文档. 2006 年 12 月发布 XML 数据通常 ...

  8. C#发现之旅第一讲 C#-XML开发

    C#发现之旅第一讲 C#-XML开发 袁永福 2008-5-15 系列课程说明     为了让大家更深入的了解和使用C#,我们将开始这一系列的主题为"C#发现之旅"的技术讲座.考虑 ...

  9. SQL XML 字段操作

    DECLARE @myDoc xml       SET @myDoc = '<root>           <item ID="1">          ...

  10. Ajax 和 XML: 五种常见 Ajax 模式

    Asynchronous JavaScript + XML(Ajax)无疑是 2006 年最热门的技术术语,且有望在 2007 得到进一步发展.但是对您的应用程序来说它究竟有什么意义呢?Ajax 应用 ...

最新文章

  1. zabbix server、zabbix agent、zabbix proxy 配置文件详解
  2. 测量工具(keras)
  3. Linux下配置Node.js环境
  4. 在没有安装OpenCV的电脑运行OpenCV程序
  5. 社死,客户现场网络一直ping不通咋办?
  6. ICLR 2021 | 使用CVAE学习干扰集,增强OOD以及对抗防御的能力
  7. 改变centos系统的时区
  8. ios苹果应用ipa一键签名工具_ios签名何以做到不越狱不上架也能安装ipa文件?
  9. Atitit ocr的艺术 艾提拉著 目录 1. OCR可以说是一门非常“古老”的技术,在上世纪50年代到90年代, 1 1.1. 场景文字识别技术(Scene Text Recognition,
  10. 体验SubSonic
  11. usb加密狗破解原理及方法介绍
  12. JAVA_OPTS(JVM相关运行参数的变量)设置
  13. 助你迈向成功之路的二十二个好习惯
  14. Vue生命周期和钩子函数详解
  15. nestjs+vue+ts打造一个酷炫的星空聊天室
  16. JS实现京东表单注册
  17. neon 指令 c语言,Neon指令集优化快速入门教程
  18. 电脑内存条的选配与安装详述
  19. 巧妙下载校VOD电影
  20. xml 转 excel  和xml 转excel 的 思路描述

热门文章

  1. python爬取双色球历史数据_爬取双色球历史数据
  2. 数据结构 查找 的思维导图
  3. 租赁服务器代理协议,租赁服务器协议
  4. python一笔画五角星_一笔画五角星,有多少种方法?
  5. 从外网到域控(vulnstack靶机实战一)
  6. IB数学考试真题题型解析
  7. 用c语言用*组成C字母,C语言字符集由字母,数字,空格,标点符号和特殊字符组成...
  8. 第二届全国大学生网络安全精英赛初赛错题笔记
  9. 伪装图片 攻击php,攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)...
  10. 关于NaN、undefined、null——基础必懂