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
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)
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
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.