During Direct Path operations, the data is asynchronously written to the database files. At some stage the session needs to make sure that all outstanding asynchronous I/O have been completed to disk. This can also happen if, during a direct write, no more slots are available to store outstanding load requests (a load request could consist of multiple I/Os).
Direct path writes allow a session to queue an I/O write request and continue processing while the OS handles the I/O. If the session needs to know if an outstanding write is complete then it waits on this wait event. This can happen because the session is out of free slots and just needs an empty buffer (it waits on the oldest I/O) or because it needs to ensure all writes are flushed.
Solutions
If the file indicates a temporary tablespace, then check for unexpected disk sort operations.
Ensure DISK_ASYNCH_IO is TRUE
Ensure the OS asynchronous I/O is configured correctly
Ensure no disks are I/O bound
Review the SQL statement to see if I/O can be reduced
Leave a Reply