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: Synchronous writes & TEMP

Re: Synchronous writes & TEMP

From: VC <boston103_at_hotmail.com>
Date: Fri, 14 May 2004 01:41:24 GMT
Message-ID: <8tVoc.43706$536.7681462@attbi_s03>


Paul,

Please see below:

"Paul Drake" <drak0nian_at_yahoo.com> wrote in message news:1ac7c7b3.0405131709.5fa1c2e1_at_posting.google.com...
> boston103_at_hotmail.com (VC) wrote in message
news:<31e0625e.0405130945.54d00c58_at_posting.google.com>...
> > "VC" <boston103_at_hotmail.com> wrote in message
news:<MqIoc.39444$xw3.2544076_at_attbi_s04>...
> > > 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
> >
> > Probably I was being a little imprecise judging by lack of feedback.
> >
> > What I am asking here is why Oracle insists on executing synchronous
> > write operations whilst writing to the TEMP tablespace. A synchronous
> > write means such operation that does not return control to the caller
> > until the data is presumed to be safely on the disk. By contrast, a
> > non-synchronous write (the 'default') operation returns control as
> > soon as the data is transferred to the filesystem cache. The
> > rationale for executing synchronous writes against the data files and
> > redo logs is obvious.
> >
> > I believe (but I may be wrong since I checked only Solaris and Linux)
> > that writes to TEMP are synchronous regardless of the OS or Oracle
> > version.
> >
> > Please do not confuse synchronous writes with asynchronous I/O --
> > that's a different beast entirely. I am curious as to why exactly the
> > OS write system calls against TEMP are synchronous if data integrity
> > is not an issue, that's all.
> >
> > Thank you.
> >
> > VC
>
> Interesting.
> Here's a bit of a thought experiment, I'll try to verify it
> afterwards.
> Its assumptions and guesses and may be completely wrong until its
> verified.
>
> Lets assume that async_io is working on Oracle 9.2.0.5 Std Ed on RHEL
> 3.0 ES.

Please re-read my second message carefully. I do not care about whether or not async_io is possible in some hypothetical setup. let's pretend async_io does not even exist.

My actual question is very simple: why does Oracle execute a synchronous WRITE() operating system call when writing to the temporary tablespace if presumably a non-syncronous write would be just fine (a non-synchronous write would transfer block(s) to the filesystem cache and the OS would flush them to the disk later).

Again, please do not confuse non-synchronous write() calls with asynchronous I/O (which is easy to do).

Thanks.

VC
>
> Pd
Received on Thu May 13 2004 - 20:41:24 CDT

Original text of this message

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