ORA-10588 with RECOVER DATABASE...ALLOW n CORRUPTION

(Doc ID 1354344.1)

Last updated on SEPTEMBER 01, 2011

Applies to:

Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 11.2.0.2 - Release: 9.2 to 11.2
Information in this document applies to any platform.

Symptoms

There has corruption hit in the database (data blocks / redo logs) and recovery is not able to proceed further either because of one or more corrupted data blocks or redo blocks.  One common error is ORA-00600 [3020] known as Stuck Recovery.

DBA runs RECOVER DATABASE TEST to determine the number of blocks reported in alert.log, which will be corrupted if a recovery is performed with ALLOW...CORRUPTION clause.

The blocks known to be corrupted during recovery, are more than 1 (say 10) and DBA decides to recover the database and decides to let those blocks corrupted.

However, when DBA runs RECOVER with ALLOW 10 CORRUPTION, it fails as below:


SQL> recover database using backup controlfile allow 10 corruption ;

ORA-10588: Can only allow 1 corruption for normal media/standby recovery

So, DBA has to run RECOVER...ALLOW 1 CORRUPTION repeatedly for all the blocks, as the command just ends when it finds next block to be corrupted after it corrupts 1 block.

This is tedious and time consuming, specially when good number of blocks are corrupted and DBA has determined to allow them to be corrupted.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms