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).

HTH,

-- Anita

--- [EMAIL PROTECTED] wrote:
> 
> 
> Ron,
> 
> Was the database open when you ran dbverify?
> 
> If so, run it on the file again and see if it still
> reports corruption.
> 
> I've done this a number of times on an open
> database. When
> a corruption was found, running dbverify a second
> time would
> show that the file was ok.
> 
> The only sure way to run dbverify is on a closed
> database.
> 
> Jared
> 
> 
> 
>                                                     
>                                                     
>     
>                     "Smith, Ron                     
>                                                     
>     
>                     L."                  To:    
> Multiple recipients of list ORACLE-L
> <[EMAIL PROTECTED]>  
>                     <[EMAIL PROTECTED]       cc:        
>                                                     
>     
>                     om>                  Subject:   
>  Corrupt block in DBVERIFY                          
>     
>                     Sent by:                        
>                                                     
>     
>                     [EMAIL PROTECTED]                  
>                                                     
>     
>                     om                              
>                                                     
>     
>                                                     
>                                                     
>     
>                                                     
>                                                     
>     
>                     07/09/01 09:51                  
>                                                     
>     
>                     AM                              
>                                                     
>     
>                     Please respond                  
>                                                     
>     
>                     to ORACLE-L                     
>                                                     
>     
>                                                     
>                                                     
>     
>                                                     
>                                                     
>     
> 
> 
> 
> 
> I have a corrupt block according to DBVERIFY.  The
> block is on an index so
> I
> can rebuild it but I don't know how to find the
> object with the information
> displayed in DBVERIFY.  Can anyone tell me how to
> find the object?
> 
> Thanks!
> Ron
> 
> --
> Please see the official ORACLE-L FAQ:
> http://www.orafaq.com
> --
> Author: Smith, Ron L.
>   INET: [EMAIL PROTECTED]
> 
> 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: [EMAIL PROTECTED] (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).
> 
> 
> 
> 
> -- 
> Please see the official ORACLE-L FAQ:
> http://www.orafaq.com
> -- 
> Author: 
>   INET: [EMAIL PROTECTED]
> 
> 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: [EMAIL PROTECTED] (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).


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: A. Bardeen
  INET: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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).

Reply via email to