Oracle 19c 补丁升级引发的单表恢复失败谜案

简介: 问题表现某客户在恢复 Oracle 数据库的单表时,提示类似下面的信息

问题表现

某客户在恢复 Oracle 数据库的单表时,提示类似下面的信息:


.......
Creating automatic instance, with SID='<oracle_sid>'
initialization parameters used for automatic instance:
db_name=<db_name>
db_unique_name=<db_unique_name>
compatible=19.0.0
db_block_size=8192
db_files=200
diagnostic_dest=<path>
_system_trig_enabled=FALSE
sga_target=2560M
processes=200
db_create_file_dest=<path>
log_archive_dest_1='location=<path>'
#No auxiliary parameter file used
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 04/12/2020 08:16:32
RMAN-04025: unable to generate a temporary file


问题分析

初步怀疑是客户的文件系统空间或权限的问题,造成 auxiliary 数据库的写出现了问题,但仔细检查却没有发现这方面的问题,感到很困惑!

经过在各大论坛查找,有提示说 Windows 平台下的一个补丁没有打完整会出现这种情况,但出现问题的客户平台是 Linux 平台,但这毕竟是一个线索!

立刻检查一下 Oracle 软件的补丁情况:

$ ./opatch lspatches
31281355;Database Release Update : 19.8.0.0.200714 (31281355)
31219897;OJVM RELEASE UPDATE: 19.8.0.0.200714 (31219897)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
OPatch succeeded.


再检查一下 Oracle 数据库的补丁情况


SQL> set linesize 200
SQL>  select patch_id,action,status,SOURCE_VERSION,TARGET_VERSION from dba_registry_sqlpatch;
  PATCH_ID ACTION          STATUS                    SOURCE_VERSION  TARGET_VERSION
---------- --------------- ------------------------- --------------- ---------------
  29517242 APPLY           SUCCESS                   19.1.0.0.0      19.3.0.0.0


发现 Oracle 软件的补丁和数据库的补丁不一致!!!


经过和客户的 DBA 沟通得知,上一周客户刚将 Oracle 软件从 19.3.0.0 升级 19.8.0.0,很显然上次客户在给 Oracle 打补丁的时候,DBA 没有执行 datapatch 修改数据库的 sql 文件。


问题解决

执行 datapatch:


[oracle@dell OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.8.0.0.0 Production on Fri Sep 18 16:53:54 2020
Copyright (c) 2012, 2020, Oracle.  All rights reserved.
Log file for this invocation: /opt/oracle/cfgtoollogs/sqlpatch/sqlpatch_1376_2020_09_18_16_53_54/sqlpatch_invocation.log
Connecting to database...OK
Gathering database info...done
.......
SQL Patching tool complete on Fri Sep 18 16:54:53 2020
[oracle@dell OPatch]$

确认补丁版本:


SQL>  select patch_id,action,status,SOURCE_VERSION,TARGET_VERSION from dba_registry_sqlpatch;
  PATCH_ID ACTION          STATUS                    SOURCE_VERSION  TARGET_VERSION
---------- --------------- ------------------------- --------------- ---------------
  31219897 APPLY           SUCCESS                   19.1.0.0.0      19.1.0.0.0
  31281355 APPLY           SUCCESS                   19.1.0.0.0      19.8.0.0.0
SQL>


再次执行 Oracle 数据库的单表恢复,成功!!!


思考

有的 DBA 抱怨,Oracle 为什么不把 Datapatch 和 OPatch 合并到一起执行,但实际上把这两者合并在一起是有困难的。因为 OPatch 在数据库关闭时执行,而 Datapatch 要求数据库是打开以完成其活动。

但opatchauto这个工具可以自动完成这个两项工作,中间还会打开数据库,但我实际使用时发现它不会把pdb打开,并在pdb里面执行sql文件,这应该是Oracle的bug。


相关文章
|
3月前
|
SQL Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第19题)- 2024年修正版
【优技教育】提供2024年修正版Oracle 19c OCP 082题库,共90题,需60%分数通过,考试时间为150分钟。文档包含详细解析,禁止未授权转载。OCP认证需在Oracle指定机构培训后参加考试,通过082(60%)和083(57%)两门科目方可获得证书。
68 8
|
3月前
|
Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第8题)- 2024年修正版
这是2024年修正版的Oracle 19c OCP认证题库,包含1Z0-082考试的90道题目,通过分数为60%,考试时间为150分钟。第8题涉及创建表时的约束问题,正确答案为AC。非空约束需在列级声明,且一张表只能有一个LONG列。通过082和083两门考试后可获得OCP证书。
57 4
|
2月前
|
Oracle 关系型数据库 网络安全
Oracle 19c 安装教程学习
Oracle 19c 安装教程学习
89 2
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之遇到报错 Oracle 19C,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3月前
|
Oracle 关系型数据库 数据库
Oracle 19c OCP 认证考试 083 题库(第37题)- 2024年修正版
本文介绍Oracle 19c OCP认证题库中的1Z0-083科目,包含85道试题,需在150分钟内完成,通过分数为57%。重点解析了关于阈值、指标和警报的问题,并指出需通过Oracle指定的WDP机构培训后才能参加考试,考试科目包括082和083,通过后可获得OCP证书。CUUG作为金牌合作机构,提供详细咨询与帮助。
133 1
|
3月前
|
Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第24题)- 2024年修正版
这是关于Oracle 19c OCP认证考试082题库的修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,解析了考试题目,并提供了正确答案和详细解释。通过该认证需完成两门科目考试,合格后可获得OCP证书。
57 4
|
3月前
|
SQL Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第26题)- 2024年修正版
这是关于Oracle 19c OCP认证考试(1Z0-082)的题库,包含90道题目,通过分数为60%,考试时间为150分钟。本文由CUUG原创整理,重点解析了全球临时表的特点和相关操作,并提供了正确答案及详细解释,帮助考生更好地理解和备考。
51 2
|
3月前
|
Oracle 关系型数据库 数据库
Oracle 19c OCP 认证考试 082 题库(第22题)- 2024年修正版
这是【优技教育】提供的Oracle 19c OCP认证考试082题库修正版,包含90道题目,通过分数为60%,考试时间为150分钟。文章详细解析了第22题,并指出正确答案为B。OCP认证需在Oracle指定的WDP机构培训后参加考试,通过082和083两科方可获得证书。CUUG作为金牌合作机构,可助您快速通过考试。
73 5
|
3月前
|
Oracle 关系型数据库
Oracle 19c OCP 认证考试 082 题库(第18题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试082题库的2024年修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文为CUUG原创整理,详细解析了第18题的选择题,并提供了正确答案与解释。需注意,OCP认证需在Oracle指定的WDP机构培训后才能参加考试。
80 7
|
3月前
|
SQL Oracle 关系型数据库
【优技教育】Oracle 19c OCP 082题库(第16题)- 2024年修正版
这是优技教育提供的Oracle 19c OCP认证考试082题库的2024年修正版,包含90道题目,通过分数为60%,考试时间为150分钟。本文解析了题库中的第16题,并详细解释了标量子查询的相关概念与用法,强调其在SQL语句中的嵌套应用及其优势。通过解析帮助考生更好地理解考试内容。原文链接:http://www.cuug.com/index.php?s=/home/article/detail/id/3397.html。
46 7

推荐镜像

更多