在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 '<archivelog_file_name>' 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 <tablespace_name> ORA-01110: data file <file#>: '<file_name>' ORA-10560: block type '<blocktype>'
应对方法: 打修复补丁 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 laterPatch 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)
