Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: some one has experiece using direc io in nt, not using raw disks

Re: some one has experiece using direc io in nt, not using raw disks

From: Vladimir Begun <vladimir.begun_at_oracle.com>
Date: Mon, 05 Jul 2004 17:15:27 -0700
Message-ID: <40E9EF1F.3060504@oracle.com>


Juan Carlos Reyes Pacheco wrote:
> Oracle Performance Tuning Oracle course says
> "On some operating systems, such as Windows NT, Oracle Server process does
> not use o/s file system cache i/o operations. In this cases, use of raw
> devices may not show significant performance gains"

I.e. Oracle does use Direct I/O by default even on cooked file systems, as it's written in the documentation (please see that quotation I posted).

> I found a test, and there was some improvement using raw files.

I think it's all about words 'may not', 'significant', 'some' -- would you please publish the link to that test? See a quotation at the end of my message, probably, it would shed some more light.

> As I understand what you say is

That time I did not say anything :) I did cut&paste some information from official Oracle documentation.

> it is a good idea to use direct io in NT, without raw files.?

Oracle does use Direct I/O by default even on cooked file systems and as far as I know you do not have any option to switch it off; I'm not Windows expert though.

Please check this as well:

http://www.ixora.com.au/q+a/io.htm
"Oracle on NT always explicitly does direct I/O. The datafiles are created and opened with FILE_FLAG_NO_BUFFERING and thus IRP_NOCACHE is always set. This means that there is no requirement on NT to match the database block size to the underlying operating system block sizes, as is the case on Unix. The down-side is that using direct I/O disables NT's fast I/O path, which means that the I/O request packets have to be hand-passed all the way down through the all the kernel layers and back up again, which even the Microsoft people regard as grossly inefficient. Because of this overhead, you should actually use a larger block size on NT than you might otherwise have done on Unix, so that you can get as much data for each I/O operation as possible."

So, your questions about "direct I/O experience people have" can be answered like -- yes, all of them have such experience.

-- 
Vladimir Begun
The statements and opinions expressed here are my own and
do not necessarily represent those of Oracle Corporation.

----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request_at_freelists.org
put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
Received on Mon Jul 05 2004 - 19:18:40 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US