Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Corrupt block in DBVERIFY

Re: Corrupt block in DBVERIFY

From: A. Bardeen <>
Date: Tue, 10 Jul 2001 01:06:06 -0700
Message-ID: <>

Jared and Ron,

As Jared mentioned, dbv can incorrectly report corrupt blocks on an open datafile, although this is likely to happen only if there is heavy write activity to the datafile and dbv scans a block as it is being written.  In which case scanning the file when the db is closed or copying the datafile before scanning it should work.

The "pages" listed by dbv are eqivalent to the blocks in the datafile, so if dbv reports page 12345 is corrupt, then that's the same as block 12345.

Dbv scans *all* blocks in the datafile, not just those belonging to objects. Versions 8.1.6+ will report "Found block already marked corrupted" if the block doesn't belong to an existing object. These blocks will also not be counted in the stats for the file. These corruptions can be safely ignored as the corrupt block will be reformatted when it is allocated to an extent.

In any case, you can identify the object to which the corrupt block belongs (if it's currently allocated to an object) using the following query:

SELECT tablespace_name, segment_type, owner, segment_name
 FROM dba_extents
 WHERE file_id = &file#
 and &block# between block_id AND block_id + blocks - 1;

Where file# is the absolute file # (e.g. from V$DBFILE) and block# is the page# reported corrupt.

If only the DBA is given then, as someone else mentioned, used note: 113005.1 to convert the DBA to a file and block #.

I always recommend running dbv and ATVSC (analyze table validate structure cascade) multiple times as flaky hardware will often manifest itself as intermittent block corruptions (i.e. if a block is truly corrupt it should be reported as corrupt every time it is checked).


Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
Please see the official ORACLE-L FAQ:
Author: A. Bardeen

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
To REMOVE yourself from this mailing list, send an E-Mail message
to: (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Tue Jul 10 2001 - 03:06:06 CDT

Original text of this message