direct path read

1.definition

Direct path reads are generally used by Oracle when reading directly into PGA memory (as opposed to into the buffer cache). If asynchronous IO is supported (and in use) then Oracle can submit IO requests and continue processing. It can then pick up the results of the IO request later and will wait on "direct path read" until the required IO completes.

If asynchronous IO is not being used then the IO requests block until completed but these do not show as waits at the time the IO is issued. The session returns later to pick up the completed IO 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 as:

  • The total number of waits does not reflect the number of IO requests
  • The total time spent in "direct path read" does not always reflect the true wait time.

This style of read request is typically used for:

  • Sort IO (when a sort does not fit in memory)
  • Parallel Query slaves
  • Readahead (where a process may issue an IO request for a block it expects to need in the near future)

2.parameter

    • file#
      Absolute file number (AFN) of the IO read request being waited for.
    • start block#
      This can show as "first dba" but is actually a block number.
      It is the block# of the first block in the IO read request being waited for. See  Note:181306.1 to determine the tablespace, filename and object for this  file#,block# pair.
    • num blocks
      Number of contiguous blocks in the read request.

3.solution

 Wait Time:

The wait blocks until the outstanding IO request completes. Note that for asynchronous IO the wait time is not the time that the IO itself takes as the wait does not start when the IO is issued. 
There is no Oracle timeout on this wait.

  Finding Blockers:

The "blocker" is the OS IO subsystem (including any OS async layers).

猜你喜欢

转载自www.cnblogs.com/dayu-liu/p/8874269.html
今日推荐