ORA-10567: Redo is inconsistent with data block on standby

0

ORA-10567: Redo is inconsistent with data block on standby

Issues:

ORA-10567: Redo is inconsistent with data block on standby

Error:

Thu May 21 18:24:10 2022
Errors in file /u02/diag/rdbms/prod/prod1/trace/prod1_pr0s_12697.trc (incident=360771):
ORA-00600: internal error code, arguments: [3020], [408], [671265], [1711947297], [], [], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 408, block# 671265, file offset is 1204035584 bytes)
ORA-10564: tablespace EXTT
ORA-01110: data file 408: '+DATA/prod/datafile/file408'
ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 167249

Solution:

Recovering the Standby’s Datafile

When recovering the standby, reverse the steps.

1) At the primary site, take a backup of the datafile:

RMAN> backup datafile 5 format '/tmp/datafile1.bkr' tag 'PRIMARY_5';

2) Transfer the file to the standby site using an operating system utility such as scp, NFS, ftp etc

3) At the standby site, catalog the backuppiece and confirm it’s available for use:

RMAN> catalog backuppiece'/tmp/datafile1.bkr';
RMAN> list backuppiece'/tmp/datafile1.bkr';
RMAN> list backup of datafile 5;

4) Stop redo apply on the physical standby database. For an active dataguard you will need to restart the standby database in MOUNT mode first before stopping managed recovery.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

5) On the standby site restore the datafile:

RMAN> restore datafile 5;

6) Restart redo apply on the physical standby database. For an active dataguard you can go ahead and restart the active dataguard process.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;


NOTE: prior to 12.1, for real time apply, you must use:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;