From:Steve Adams
Date:16-Nov-2000 05:22
Subject:   Corrupt blocks in index datafiles

This is almost certainly not a problem. The blocks reported by dbv are probably not in use. If you look up the block (page) numbers in DBA_EXTENTS, you will probably find that they do not fall into any used extents. If some of the "bad" blocks are in used extents, then you can check whether they are above the high-water mark by analyzing the indexes. If you have any "bad" blocks below the high-water marks for their indexes, then you should drop and recreate those indexes, not REBUILD them. However, if you can run ANALYZE INDEX VALIDATE STRUCTURE CASCADE on each index, then you are OK anyway because the "bad" blocks are not reachable.

For your information, the kdxcofbo field is the offset to the start of the block free space. dbv is checking that this matches the kdxcofeo and kdxcoavs header fields which record end offset and size of the block free space. The mismatch probably indicates that the block has never been used, rather than used and corrupted. If you want to clean up the datafile so that dbv does not report these errors, then you can drop all the indexes and temporarily create a large table with one row in every block of the datafile.

We have migrated the database from E6500 to E10K. When I run the DBVerify utility it reported the block corruption on some of the index datafiles. These block corruption also exists on the previous server (E6500). I rebuilt all the indexes using REBUILD command and re-ran the DBV but still reporting the block corruption on the same datafiles (index only). But we are not having any errors for these block corruption in any process. (May be these blocks are never read since they have been corrupted).

What is the reason of these corruption? How can we rectify them? Does it affect the performance? The extract of the DBV output is as below:

-----------------------------------------------------------------------
Page 146425 failed with check code 1
**** kdxcofbo = -32457 != 162
---- end index block validation
Page 146451 failed with check code 1
**** kdxcofbo = 11626 != 162
---- end index block validation
Page 147027 failed with check code 1
**** kdxcofbo = 30783 != -2016
---- end index block validation
Page 147051 failed with check code 1
**** kdxcofbo = 22722 != 162
---- end index block validation
Page 147358 failed with check code 1
**** kdxcofbo = 3436 != 6180
---- end index block validation
Page 234223 failed with check code 1

DBVERIFY - Verification complete

Total Pages Examined         : 248959
Total Pages Processed (Data) : 0
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 229782
Total Pages Failing   (Index): 69
Total Pages Empty            : 19050
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
----------------------------------------------------------------------------