DBPedias

All your database knowledge are belong to you

Oracle

Wait Events - buffer read retry

buffer read retry

This event occurs only if the instance is mounted in shared mode (Oracle Real Application Cluster). During the read of the buffer, the contents changed. This means that either:

  • The version number, dba, or the incarnation and sequence number stored in the block no longer match the checksum on the block does not match the checksum in the block.
  • The block will be re-read (this may fail up to 3 times), then corruption is assumed and the corrupt block is dumped in the trace file.

Wait Time:

The wait time is the elapsed time of the read.

Parameters:

  • file# This is the file that Oracle is trying to read the block from. With the following SQL statement one can determine the name of the file:
    select *
      from v$datafile
     where file# = file#;
  • block# This is the number of the block that Oracle is currently reading. If the block number is not 1, use the following SQL statement to find the object that the block belongs to:
    select name, kind
      from ext_to_obj_view
     where file#  = file#
       and lowb  <= block#
       and highb >= block#;
This event should only be seen in parallel server environments where we haven't obtained an appropriate instance lock - temp. segment. Sometimes this also occurs with 7.1/7.2, when performing direct reads for sort segments.

We could either use the scan mechanism to find the blocker, or, make DBWR the blocker. For the moment we will use DBWR, as we are waiting on DBWR (indirectly) to confirm that the block is ok.

There is no scan function for this event. It doesn't make sense that somebody else could be waiting on us. This could happen because there was some kind of media error which could indicate a potential media problem. Or, in Parallel Server one instance was reading a block, while another instance was writing the same block.