在Oracle12c之后,通过rman备份Dataguard备端的文件恢复时可能出现逻辑错误,
适用于的版本:
Oracle Database - Enterprise Edition - Version 12.1.0.2 to 21.1 [Release 12.1 to 20.0]
具体描述:
在Oracle 12CR1之后,Dataguard 物理备库 通过rman进行增量备份时,可能忽略更改的块,如果使用该文件恢复,可能导致逻辑损坏。
大多数情况下不会遇到该问题, 当然也有小部分可能因为该问题丢失写入, 并报告ORA-600[3020]错误。
发生的情况:
这个问题可能影响 Oracle 12cR1 (12.1), 12cR2(12.2), 18c and 19c
只有RAC启动了dg备用数据库,执行增量级别1的备份时,可能会出现该问题。 该物理备库选择的是只读方式打开。
症状:
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '' ORA-00600: internal error code, arguments: [3020], [8], [984420725], [984420725], [], [], [], [], [], [], [], [] ORA-10567: Redo is inconsistent with data block (file# 8, block# 984420725, file offset is 2720964608 bytes) ORA-10564: tablespace ORA-01110: data file : ' ' ORA-10560: block type ' '
应对方法:
打修复补丁 bug 32097882
主端进行rman备份
补丁情况:
可通过下面命令检查补丁情况
opatch lsinventory --detail | grep "32097882"
如果没有安装,可以下载,具体如下:
- Patch 32131231 - Database BP 12.1.0.2.210119 or later
- Patch 31985579 - Database PSU 12.1.0.2.210119 or later
- Patch 32226219 - Database RU 18.13.0.0.0 or later
-
Patch 32226239 - Database RU 19.10.0.0.0 or later
参考:
NOTE:32097882.8
- Bug 32097882 - All instances restarted by database Writer: Instance terminated by DBW0
NOTE:742060.1
- Release Schedule of Current Database Releases
翻译自mos: RMAN Backups of Standby Database Within Oracle 12.1, 12.2, 18 and 19 May Be Logically Corrupt (Doc ID 2745911.1)