Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Synchronous writes & TEMP
How are you testing that the writes are synchronous ?
I've only checked this fairly recently so I can't make any comment about older versions of Oracle, but my observations suggest that direct writes take place without waiting for file-system sync - except for a small number, which are (I guess) the last writes in a direct write pass that your session expects to do.
I base this comment on observations of waits for direct writes using event 10046 level 8. In a simple test case, an order by on some 32 MB of data, the trace file showed only two waits for direct writes for a total of 13 blocks, even though the total volume written was clearly far in excess of 13 blocks.
There may be variations dependent on o/s, and optional extras installed at either layer.
For writes that go through the buffer I guess it's either a question of minimising code changes - or simple oversight, and someone will get around to it eventually. Unless there's some strange circumstances where Oracle might do a buffered write, followed by a direct read - and therefore manage to read an older version of the block than existed in the file-system buffer. (Seems unlikely, though)
-- Regards Jonathan Lewis http://www.jlcomp.demon.co.uk http://www.jlcomp.demon.co.uk/faq/ind_faq.html The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/seminar.html Optimising Oracle Seminar - schedule updated May 1st "VC" <boston103_at_hotmail.com> wrote in message news:MqIoc.39444$xw3.2544076_at_attbi_s04...Received on Fri May 14 2004 - 06:22:22 CDT
> Does anybody know why Oracle uses synchronous writes while writing to the
> temporary tablespace ? Presumably we do not care about data loss in this
> case.
>
> Your thouhts are much appreciated.
>
> VC
>
>
>
>