Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: linux os cache and ocfs
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 Fri Jul 30 2004 - 10:32:29 CDT