ORA-19566: exceeded limit of 0 corrupt blocks for file

I already Talk about this Error but this Topics Share Another Solution For it :

RMAN> backup database;
 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 12/22/2011 11:45:40
ORA-19566: exceeded limit of 0 corrupt blocks for file /oracle/oradata/orcl/system01.dbf

 

SQL> select * from V$DATABASE_BLOCK_CORRUPTION;
 
     FILE#     BLOCK#   BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
5 2684 1 0 CHECKSUM

RMAN> blockrecover datafile 5 block 2684;

Thank you
Osama mustafa

ORA-19566 exceeded limit of %s corrupt blocks for file %s

Cause: The user specified limit of allowable corrupt blocks was exceeded 
while reading the specified datafile for a datafile copy or backup.
Action: None. The copy or backup operation fails. The session trace file
contains detailed information about which blocks were corrupt.
 
 
But The Below is Work around : 
 
  
 1)Run DBVerify utility. Have a look at Verify Physical Data Structure



For example,
 
 
 $ dbv file=/oradata2/data1/dbase1/system01.dbf 
 
 Also run this operation for against the all datafiles you suspect which has corrupt block.



2)While taking backup within RUN block specify SET MAXCORRUPT in order
to say how many corruption it can handle. I ran dbverify utility and I
saw 1 block corrupt each in SYSTEM(1) and SYSAUX(3) datafile.



3)Now backup database with SET MAXCORRUPT option.

 
Syntax : 

 
SET MAXCORRUPT FOR DATAFILE File_id For DatabaseFiles to ;
 


SET MAXCORRUPT FOR DATAFILE to ;


RMAN> RUN{

2> SET MAXCORRUPT FOR DATAFILE 1,3 to 1;

3> BACKUP DATABASE;

4> }




For datafile 1 and 3 maximum 1 block corruption can be tolerated.
 

 
Thank you 
Osama Mustafa