A technical troubleshooting blog about Oracle with other Databases & Cloud Technologies.

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

1 min read

Issues:

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

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:

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 backup piece 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; 

Hope it helped !! 🙂