Re: Determine Date of Records Associated With Corrupt Block

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Wed, 15 Jun 2011 19:36:33 +0100
Message-ID: <85mdnUPbLrAyZmXQnZ2dnUVZ7qednZ2d_at_bt.com>


You have the file number, block number and data object id of the table, so you can use dbms_rowid to create a rowid for row 0 and row 4095 for that block, then a query like:

select /*+ index_ffs(alias index) */

    rowid,
    date_column
from

    table
where rowid between {rowid0} and {rowid4095} and date_column is not null
;

Should do an index fast full scan of the index to return the data.

-- 
Regards

Jonathan Lewis
http://jonathanlewis.wordpress.com


"if_investor_at_yahoo.com" <basis_consultant_at_hotmail.com> wrote in message 
news:895111cc-c78a-4773-8bbc-adad9b1fb90e_at_s9g2000yqm.googlegroups.com...

> Hi,
>
> In a test server we have a corrupt data block in a table that is about
> 17GB in
> size. DBVerify and validate structure both identified the same corrupt
> block.
> (File#f, block #y). Oracle is 10.2.0.4.
>
> That table has a field named DATE, and there is an index on DATE.
>
> Is there a way to use the index in order to identify the date(s)
> of the data that was on the corrupt block?
>
> For example, suppose that DBVerify and Validate Structure
> indicate that file#100, block#99999 is corrupt.
>
> Is there a way to check the value of the date field in index TABLE-
> DATE
> associated with this file/block?
>
>
>
> Thanks,
> QZ
Received on Wed Jun 15 2011 - 13:36:33 CDT

Original text of this message