Results 1 to 4 of 4

Thread: blcok corrupted

  1. #1
    Join Date
    Jun 2003
    Posts
    45

    Unanswered: blcok corrupted

    can anybody Please explain about this script

    SELECT tablespace_name, segment_type, owner, segment_name
    FROM dba_extents
    WHERE file_id = <AFN>
    and <BL> between block_id AND block_id + blocks - 1

  2. #2
    Join Date
    Apr 2003
    Location
    Greenville, SC (USA)
    Posts
    1,155
    It looks to me like you are trying to find a specific object (table/index) from dba_extents ... You apparently have the file number and the block number from somewhere ... perhaps from some sort of "Wait" report or contention report ...

    HTH
    Gregg

  3. #3
    Join Date
    Jan 2004
    Posts
    370
    gbrabham is correct - it selects a specific object based on file/block.

    It is documented in the error messages manual and is used as an example to determine which object a corrupt block belongs to:

    ORA-01578 ORACLE data block corrupted (file # string, block # string)

    Cause: The data block indicated was corrupted, probably due to program errors.

    Action: Determine which object was corrupted using a command like the following:

    SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTENTS
    WHERE file = FILE_ID AND block BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1;


    where values for file and block are from the message.

    Try to restore the segment containing the block indicated. This may involve dropping the segment and re-creating it. If there is a trace file, report the errors in it to Oracle Support Services.

    http://download-west.oracle.com/docs...00.htm#1003914

  4. #4
    Join Date
    Jun 2003
    Posts
    45
    Hi,

    Can u please give me an example regardding this,
    Soon!.

    SELECT tablespace_name, segment_type, owner, segment_name
    FROM dba_extents
    WHERE file_id = <AFN>
    and <BL> between block_id AND block_id + blocks - 1

    In the alert log file i have seen corrupted block and file id.

    so what does this statement means( between block_id AND
    block_id + blocks - 1)

    Please give me an example.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •