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

Home -> Community -> Usenet -> c.d.o.server -> Re: linux os cache and ocfs

Re: linux os cache and ocfs

From: utkanbir <hopehope_123_at_yahoo.com>
Date: 2 Aug 2004 00:43:10 -0700
Message-ID: <f6c90ebe.0408012343.393e32cf@posting.google.com>


Hi Fabrizio,

Thanks for your mail ,

I have written a small c program which does open by using O_DIRECT , and i have also checked the open.c file , it contains O_DIRECT flag . My c program has an error when i run it against ext3 file system , but runs ok with Ocfs .
May be ext3 does not support direct io , on the other hand now i am sure ocfs supports it. I had a tar regarding this issue , and i had closed the tar before i had read the messaage of Mladen , which completely changed the situation. I will reopen the tar again . On the other hand , i tried to strace some of the executables of oracle such as dbwriter or checkpoint processes but i could not see the open systen call , may be i must look at other executables. (May be these executables open files once at startup and use the same handle , what do you think ?)

Kind Regards,
hope

FM <fabrizio.magni_at_mycontinent.com> wrote in message news:<410a6a37_at_x-privat.org>...
> utkanbir wrote:
>
> > Hi again Mladen,
> >
> > I have found 2 documents (i have also found your attempts to get an
> > answer from tech.support)
> >
> >
> > This is from note Oracle Cluster File System (OCFS) on RedHat AS
> > 224586.1:
> >
> > With OCFS filesystem, the oracle datafiles are opened with O_DIRECT
> > flag (non-buffered I/O).
> >
>
> In my opinion this sentence is misleading. On the same note you can read:
>
> "Unix file commands like cp, dd, tar do not work on Oracle RDBMS
> datafiles when the instance is running as they don't open the files with
> O_DIRECT option. For this reason Oracle provide the commands cp, dd &
> tar to work when the instance is running."
>
> To use direct i/o you need that: operating system (in this case the
> linux kernel), filesystem and applications all support direct i/o.
> In linux you can call read and write system call with o_direct but you
> need programs written to support such option.
>
> For oracle rdbms, as far as I know, you have to enable it with
> filesystemio_options (set to directio or setall) otherwise you won't use
> it even if your filesystem is mounted for non buffered i/o.
>
> The topic is far more complicated as I recently discovered (blocksize,
> page size and buffer size need to be "alligned" on 2.4.x kernel for
> non-buffered i/o).
>
> However I can't find documentation were this topic is cleanly covered.
> (For example suse claims that their SLES systems support o_direct... and
> I'm ready to believe it).
>
> If anybody had more specific information I'd like to read them. I'm
> eager to know more about oracle and direct i/o.
>
> Fabrizio
Received on Mon Aug 02 2004 - 02:43:10 CDT

Original text of this message

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