Directio

From Ittichai Chammavanijakul's Wiki
Jump to navigation Jump to search

How To Verify Whether DIRECTIO is Being Used [ID 555601.1]

or

$ ps -ef |grep _dbw
$ truss -aefo /tmp/truss.out -p 2260

Look for the ioctl call made after the open of a datafile, typically this will look something like:

	19483: ioctl(3, 0x2000664C, 0x00000001) = 0 

The 3rd argument value of 1 is used for DIRECTIO_ON, and 0 would be seen if a call was made with DIRECTIO_OFF.

  • This sample is for new sqlplus session.
truss -f -t open,ioctl -u ':directio' sqlplus "/ as sysdba"

References:

  • Note that ASM will use AIO & Direct IO automatically.
    • ASM Inherently Performs Asynchronous I/O Regardless of filesystemio_options Parameter [ID 751463.1]
    • Init.ora Parameter "FILESYSTEMIO_OPTIONS" Reference Note [ID 120697.1]
  • Pros and Cons of Using Direct I/O for Databases [ID 1005087.1]