from http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-io-waits
Standard I/O
db file sequential - read Single block read
db file scattered - read Multi block read
db file parallel - read Non-contiguous multi block read
read by other session - wait for another session to do the io
select parameter1, parameter2, parameter3 from v$event_name where ...
NAME P1 P2 P3
----------------------- ----------- --------- --------
db file sequential read file# block# blocks
db file scattered read file# block# blocks
db file parallel read files blocks requests
read by other session file# block# class#
db file sequential read
Example
- Top reported wait
- Single block read
- block accessed via
- index
- rowid
- rollback
select * from emp where empno=99;
where there is an index on emp(empno)
algorythm
search buffer cache for block by rowid,
if fail, read block off disk via file# and block#
Note: "sequential" means a sequence as in rowid
db file scattered read
Example
- Multi Block Read
- Full Table Scan
- Index Fast Full Scan
algorythmselect * from emp;
search buffer cache for block by rowid,
if fail, read block off disk via file# and block# and # of blocks
Note: "scattered" means blocks are scattered throughout the buffer cache (even though they are laid out sequential on disk)
db_file_multiblock_read_count set the target block read size
db file parallel read
Process issues multiple single block reads in parallel Examples
- Documentation says only for recovery
- seems to happen for normal read ops
- Async Call – wait for all reads to complete
Example
- Not contiguous multi block read
- Index full or range scan
- Where values in
aSelect * from emp where empno in (1,2,3,4,5,6);
read by other session
No comments:
Post a Comment