ORA-10567: Redo is inconsistent with data block on standby !!
1 min readIssues:
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 !! 🙂