ORA-10567: Redo is inconsistent with data block

Recovery interrupted!
Recovered data files to a consistent state at change 13507372
Fri May 11 20:11:09  2012
Errors in file e:\oracle\product\10.2.0\admin\ecc\bdump\eccstandby_mrp0_2724.trc:
ORA-12801: error signaled in parallel query server P011
ORA-00600: internal error code, arguments: [3020], [1], [56204], [4250508], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 1, block# 56204)
ORA-10564:

I had an interesting scenario lately. In a dataguard configuration my primary database had block corruption. But instead of
failing over I decided to repair the database by doing point-in-time recovery by rolling back 5 minutes before the bloxk
corruption.

I used RMAN command like below on Primary

run {
set until time to_date(’12-May-2012 02:15:00′, ‘DD-MON-YYYY HH24:MI:SS’);
restore database;
recover database;
}

Now this recovered the primary and I was able to connect the Application. Now i wanted to check what was happeining on the
standby. The alert log on standby gave below error

ORA-10567: Redo is inconsistent with data block (file# 1, block# 56204)

I immediately knew my PITR on primary was the reason for this inconistency. This is called a ‘STUCK RECOVERY’.There is an
inconsistency between the information stored in the redo and the information stored in a database block being recovered.
The best way to overcome is to restore from a backup and doing a point-in-time recovery to a time PRIOR to the one implied
by the ORA-600[3020] error.

So all I had to do is rewind the standby database to one minute before the Primary restore time and let dataguard do its
magic.

run {
set until time to_date(’12-May-2012 02:14:00′, ‘DD-MON-YYYY HH24:MI:SS’);
restore database;
recover database;
}

Once I did this I checked the v$managed_standby view for MRP0 process and it had started applying the logs by then.

Dataguard brought the standby in sync with primary. Magical !

By doing it this way; I recovered my primary database quickly and avoided failover to standby site and rebuilding the
standby database from scratch. Please note this procedure was done on Oracle 10.2.0.5 database running on Windows Server
2003. Also I had a full backup from 2 days before both on Primary and Standby site. Also all archivelogs after that day
existed on disks of both Primary and Standby.

Category: Database

Tags:

One comment

  1. my senario is datafile sizes os level occupy 20 GB but actual block sizes 2GB.
    how can shrink datafile and which command .
    Please needfull

Leave a Reply

Article by: Shadab Mohammad