The session is waiting for a direct read of a large object (lob) to complete. A direct read is a physical I/O from a data file that bypasses the buffer cache and reads the data block directly into process-private memory.
If asynchronous I/O is supported (and in use), then Oracle can submit I/O requests and continue processing. Oracle can then pick up the results of the I/O request later and wait on "direct path read" until the required I/O completes.
If asynchronous I/O is not being used, then the I/O requests block until completed but these do not show as waits at the time the I/O is issued. The session returns later to pick up the completed I/O data but can then show a wait on "direct path read" even though this wait will return immediately.
Hence this wait event is very misleading because:
The total number of waits does not reflect the number of I/O requests
The total time spent in "direct path read" does not always reflect the true wait time.
Sort I/O (when a sort does not fit in memory)
Parallel Query slaves
Read ahead (where a process may issue an I/O request for a block it expects to need in the near future)
The rest of the information in this section is only valid for this metric when it appears in either the Enterprise Manager Grid Control or the Enterprise Manager Database Control (if applicable).
The following table shows how often the metric's value is collected and compared against the default thresholds. The 'Consecutive Number of Occurrences Preceding Notification' column indicates the consecutive number of times the comparison against thresholds should hold TRUE before an alert is generated.
Target Version |
Evaluation and Collection Frequency |
Upload Frequency |
Operator |
Default Warning Threshold |
Default Critical Threshold |
Consecutive Number of Occurrences Preceding Notification |
Alert Text |
pre-10g |
Every Minute |
After Every Sample |
> |
50 |
Not Defined |
3 |
%value%%% of service time is spent waiting on the 'direct path read (lob)' event. |
(DeltaDirectPathReadLobTime/DeltaServiceTime)*100 where:
DeltaDirectPathReadLobTime: difference of 'sum of time waited for sessions of foreground processes on the 'direct path read (lob)' event' between sample end and start
DeltaServiceTime: difference of 'sum of time waited for sessions of foreground processes on events not in IdleEvents + sum of 'CPU used when call started' for sessions of foreground processes' between sample end and start
See Idle Events
For noncached lob segments, it is helpful to place the data files where the LOB SEGMENTS reside on a buffered disk, for example, on a File system disk. This placement allows the direct reads to benefit from a cache not on Oracle for data read operations.
Related Topics
About Alerts
About the Metric Detail Page
Editing Thresholds
Understanding Line Charts
Copyright © 1996, 2009, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.