wangcf, November 28, 2005 - 11:01 am UTC
in the book:Oracle.Wait.Interface.A.Practical.Guide.to.Performance.Diagnostics.and.Tuning.
"db file scattered read
The db file scattered read event is posted by the session when it issues an I/O request to read multiple data blocks. The blocks read from the datafiles are scattered into the buffer cache. These blocks need not remain contiguous in the buffer cache. The event typically occurs during full table scans or index fast full scans. The initialization parameter, DB_FILE_MULTIBLOCK_READ_COUNT determines the maximum number of data blocks to read.
Waiting on datafile I/O completion is normal in any Oracle database. The presence of this wait event does not necessarily indicate a performance problem. However, if the time spent waiting for multiblock reads is significant compared to other waits, you must investigate the reason for it."
in this title,db file scattered read is 55156,longer than others,how can i do?
November 28, 2005 - 2:01 pm UTC
no, it is not "longer" than others
55,156 is the Number of TIMES you had to do an IO.
It is your most significant wait event (175.66 seconds) - the ways to reduce it includes:
a) don't do it, find another way to get the information without reading it from disk (eg: change the physical structure, rewrite the query differently)
b) make disk faster, you took an average of 0.0031 per multi block IO, that is pretty good to begin with.
c) have more of the data cached, not always likely to be possible.
Option #1 seems most likely
Perfect!
gtcol, May 05, 2009 - 7:54 am UTC
Thanks Tom, this is just perfect!