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#;
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.