Where to see whether Direct_i/o enabled
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 7 of 7

Thread: Where to see whether Direct_i/o enabled

  1. #1
    Join Date
    Apr 2003
    Posts
    353

    Where to see whether Direct_i/o enabled

    Enable Direct I/O for OCFS is a suggestion from one of a site, but I could not get the details how to enable it. where to see whether it is enabled.

    This is for a performance analyssis where our
    Test environment runs a sample query 10 times faster than live
    environment with OCFS.
    We have chosen a table with 8 million records.
    Db sequential read is high.
    Trace file is attached.
    Thanks
    Attached Files Attached Files

  2. #2
    Join Date
    Sep 2002
    Location
    England
    Posts
    7,333
    have you tried tuning your queires first, db_file_sequential_read is mainly a wait on mis-use of indexes

    but to see if it is used show parameter filesystemio_options

  3. #3
    Join Date
    Apr 2003
    Posts
    353
    Thanks for your valuable response.
    NAME_COL_PLUS_SHOW_PARAM TYPE VALUE_COL_PLUS_SHOW_PARAM
    ---------------------------------------------------------------- ----------- ----------------------------
    filesystemio_options string none

    The query is tuned. It is using the correct index (Rebuilt on request from metalink during our analysis yesterday)

  4. #4
    Join Date
    Sep 2002
    Location
    England
    Posts
    7,333
    ah index rebuilds, I hope they did proper analysis and determined why it needed to be rebuilt instead of just suggesting it randomly

    You arent using direct i/o there are articles on Metalink on how to set it up, but I would still look at the query

  5. #5
    Join Date
    Apr 2003
    Posts
    353
    Ya. For Itanium linux AS 2.1 , and ocfs 1.01 oracle Oracle told that they will analyse after analysing the strace, and statspacks.
    We are going to enable the direct I/o. Any body have suggestions on enabling for the above environment. Thanks

  6. #6
    Join Date
    Jan 2001
    Posts
    2,828
    Hi Engiri

    Mladen Googal answered my question sometime back.

    Code:
    On FC3, with another version, things look like this: 
    gettimeofday({1115516619, 411653}, NULL) = 0 
    gettimeofday({1115516619, 411723}, NULL) = 0 
    pread(15, "\25\302\0\0\27\0\0\0\311\6\0\*0\377\377\1\4\255E\0\0\3\0"...*, 16384, 376832) = 16384 
    gettimeofday({1115516619, 428299}, NULL) = 0 
    stat64("/oradata/10g/oracle/sy*stem01.dbf", {st_mode=S_IFREG|0640, st_size=629153792, ...}) = 0 
    open("/oradata/10g/oracle/syst*em01.dbf", O_RDONLY|O_DIRECT|O_LARGEFILE) = 18 
    close(18)                               = 0 
    open("/oradata/10g/oracle/syst*em01.dbf", O_RDWR|O_SYNC|O_DIRECT|O_LARGE*FILE) = 18 
    fcntl64(18, F_SETFD, FD_CLOEXEC)        = 0 
    io_submit(0xb74a4000, 0x1, 0xbfffe1b8)  = 1 
    io_getevents(0xb74a4000, 0x1, 0x1, 0xbfffe5bc, 0xbfffe148) = 1 
    fcntl64(18, F_GETFL)                    = 0xd002 (flags O_RDWR|O_SYNC|O_DIRECT|O_LARGE*FILE) 
    fcntl64(18, F_SETLK64, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}, 0xbfffe620) = 0 
    gettimeofday({1115516619, 435080}, NULL) = 0 
    pread(15, "\25\302\0\0\23\0\0\0\226\7\0\*0\377\377\1\4CS\0\0\0\310"..., 16384, 311296) = 16384 
    gettimeofday({1115516619, 435487}, NULL) = 0 
    gettimeofday({1115516619, 435549}, NULL) = 0 
    
    You can easily see files being open with O_DIRECT flag. Unfortunately, 
    this is not version 9: 
    
    
    SQL*Plus: Release 10.1.0.4.0 - Production on Sat May 7 21:42:12 2005 
    
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved. 
    
    
    Connected to an idle instance. 
    
    
    SQL> startup mount 
    ORACLE instance started. 
    
    
    Total System Global Area  201326592 bytes 
    Fixed Size                   778452 bytes 
    Variable Size              78651180 bytes 
    Database Buffers          121634816 bytes 
    Redo Buffers                 262144 bytes 
    Database mounted. 
    SQL> alter database open; 
    
    
    Database altered. 
    
    
    when the database was mounted, I attached strace to dbw, like this: 
    
    
    $ ps -fu $LOGNAME|grep dbw 
    oracle   10996     1  0 21:42 ?        00:00:00 ora_dbw0_10g 
    oracle   11045 11021  0 21:43 pts/0    00:00:00 grep dbw 
    $ strace -o /tmp/dbw.out -p 10996 
    Process 10996 attached - interrupt to quit 
    
    
    when that was done, I opened the database. The result is above. I don't 
    know about whether direct I/O would work on RH ES 3.0, but that is how you 
    can check. You have the same hammer called "strace". May the force be with 
    you.
    Additionally you can have a look at this thread
    http://groups-beta.google.com/group/...1f5fbf2a417381

    regards
    Hrishy

  7. #7
    Join Date
    Apr 2003
    Posts
    353
    Thanks . I found they are useful.
    Regards

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width