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: Filesystem device O/S Buffering

Re: Filesystem device O/S Buffering

From: Piotr Kolodziej <pkol_at_otago.gda.pl>
Date: Thu, 10 Dec 1998 17:28:07 +0100
Message-ID: <74osqf$609$1@sunrise.pg.gda.pl>


Brent Henry wrote in message <74op5h$m68149_at_aegean.jcrew.com>...
>Can anyone explain how Oracle ensures that data gets written to the =
disk
>after a commit when using filesystem devices?

After commit only proper redo entries need to be flushed to the disk = (online
redo log file). There's no need to write modified data block buffers to = the
datafiles on commit.

>With Solaris filesystems, data can be stored in the disk cache for up =
to
>20 seconds before being flushed. Does Oracle use some special O/S call =
to
>force the flush? Or does it bypass the O/S disk cache somehow?

As I remember a simple example of flushing OS buffers is fflush(FILE *) function declared in stdio.h and provided in libc. I don't know, which function is called in Oracle kernel, but as we see there is a way to perform OS file buffer flush.
In fact Oracle relies on proper OS library implementation and proper work of device drivers.

Piotr
--
Piotr Kolodziej pkol_at_otago.gda.pl
Just my private opinion. Received on Thu Dec 10 1998 - 10:28:07 CST

Original text of this message

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