In previous posts, “db file sequential read” and “db file scattered read” wait events, I explained two common wait events that are associated with I/O Wait. In this post I will describe another common wait event that in many cases is caused by a weak storage performance.
Direct path read is an access path in which multiple Oracle blocks are read directly to the Oracle process memory without being read into the buffer cache in the Shared Global Area (SGA). This event is usually caused by scanning an entire table, index, table partition, or index partition during Parallel Query execution (although 11g support “direct path read” on serial scans). The following SQL statement illustrates a parallel query scanning a table:
|Sample SQL Query:Select /*+ Parallel(emp 4) */ * from Employee emp;
PX SEND RANGE
PX BLOCK ITERATOR
TABLE ACCESS FULL EMPLOYEE