AppDynamics for Databases
2.9.x Documentation
Direct path reads occur when a session reads buffers from disk directly into the PGA (as opposed to the buffer cache in SGA). If the I/O subsystem does not support asynchronous I/Os, then each wait corresponds to a physical read request.
If the I/O subsystem supports asynchronous I/O, then the process is able to overlap issuing read requests with processing the blocks already existing in the PGA. When the process attempts to access a block in the PGA that has not yet been read from disk, it then issues a wait call and updates the statistics for this event. Hence, the number of waits is not necessarily the same as the number of read requests (unlike db file scattered read and db file sequential read).
Below is a screenshot of a system with a large amount of direct path read waits:
Direct path reads can happen in the following situations: