| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: ASYNCH I/O
Small disagreement with some minor points:
1) On some platforms, like Pyramid, Oracle can detect if Async I/O is
available and will automatically use it. On most platforms to use
Async I/O your database files must be raw partitions.
2) I do not think that the Async I/O is setting a jump. Different
Unix OS's use different routines to make async calls but both Pyramid
and Sequent appear to pass the address of a switch or indicator field.
When the OS is done it updates this field and it is the issuing
programs responsibility to check on the status of the I/O.
In article <7lq791$7bk$2_at_m2.c2.telstra-mm.net.au>,
"Nuno Souto" <nsouto_at_nsw.bigpond.net.au> wrote:
> Doug, in standard UNIX there is no such thing as an Asynch I/O.
> The process always waits for the I/O to be completed before control
> is returned to the process by the OS. This is regardless of the OS
> actually using a cache or not to speed up this process.
>
> Asynch I/O is an option added on to some UNIX versions to allow a
process to
> hook
> a jump for when the OS has finished the I/O. The process can continue
> executing and the jump is taken when the OS has finished the I/O, be
it
> cached or not.
>
> Note that I'm separating the OS use of a cache from the OS reaction
to a
> I/O request. Using a cache is internal to the OS and should be/is
transparent
> to the user processes, unless the user process has elected to know
about it.
>
> Now, of course there are back doors...
>
> In some versions of UNIX, Asynchronous I/O is a separate option that
needs
> to be configured. Of course, ORACLE doesn't know if this has been
configured
> or not. In such cases, you have the option of telling ORACLE to use
the Asynch
> I/O system calls instead of the standard I/O, so that it can take
advantage of
> the
> thing if it's there.
>
> In a nutshell, that's what it all means. There are slight detail
variations
> here and there,
> depending on the OS, file system and the particular versions thereof.
>
> Some OS versions will do the Asynch I/O using its own background
processes.
> Others will not. It all depends.
>
> Bottom line is: if you are fairly sure that the OS you're using has
Asynch I/O
> activated AND configured, then you turn on Asynch I/O in ORACLE and
forget
> the multiple db-writers. But you GOTTA be fairly sure that all of
that is true,
> otherwise
> the OS will channel Asynch I/O calls from ORACLE into standard I/O
and not tell
> you
> about it, with obvious consequences to performance...
>
> HTH
>
> --
> Cheers
> Nuno Souto
> nsouto_at_nsw.bigpond.net.au.nospam
> Is there a nospam domain?
> http://www.users.bigpond.net.au/the_Den
> Doug Cowles <dcowles_at_bigfoot.com> wrote in message
> news:377FA9F6.5844956E_at_bigfoot.com...
> > Ran across a statment that multiple database writters are useless
if you
> > are using
> > Asynch I/O. Does this statement apply to OS Asynch I/O, or the
Oracle
> > simulated
> > Asynch I/O created with USE_ASYNCH_IO = true, or is it true at all?
> >etc.
>
>
--
Mark D. Powell -- The only advice that counts is the advice that
you follow so follow your own advice --
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
Received on Wed Jul 07 1999 - 08:57:44 CDT
![]() |
![]() |