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: DBWR slave process

Re: DBWR slave process

From: Howard J. Rogers <dba_at_hjrdba.com>
Date: Wed, 19 Jun 2002 05:38:43 +1000
Message-ID: <aeo28t$d1f$1@lust.ihug.co.nz>

"Gaurang Patel" <gvpatel_at_hotmail.com> wrote in message news:14133c52.0206180527.5ee8b649_at_posting.google.com...
> "Howard J. Rogers" <dba_at_hjrdba.com> wrote in message
news:<aem712$kdk$1_at_lust.ihug.co.nz>...
> > Version?
> >
> > If it's anything other than 7 or 8.0, you don't want to be messing with
DBWR
> > slaves, since they only parallelize the writing of buffers to disk.
Instead,
> > use the multiple DBWR processes feature, since they parallelize both on
the
> > buffer collection *and* the buffer writes. The two methods are
incompatible
> > with each other.
> >
> > DBWR slaves are configured using the DBWR_IO_SLAVES init.ora parameter.
> > Multiple DBWR processes are configured using the DB_WRITER_PROCESSES
> > init.ora parameter.
> >
> > As to why: because multiple processes (including slaves) mean that one
> > process can be writing to data file 3 whilst another is simultaneously
> > writing to data file 6. That means the writes are over quicker;
checkpoints
> > complete faster; I/O contention (between DBWR writing and your server
> > process reading) is minimised. It's a thoroughly good thing, imho, where
> > there are indications from statistics that DBWR I/O behaviour may be
> > compromising performance.
> >
> > 8i permitted up to 10 ARCH processes. They get spawned automatically as
the
> > server detects the need for them, but you can spawn several at Instance
> > startup by setting the LOG_ARCHIVE_MAX_PROCESSES init.ora parameter.
That
> > can be dynamically altered with an alter system command to manually
cause
> > the creation of additional processes, too.
> >
> > Regards
> > HJR
> >
> >
> >
> >
> > "Gaurang Patel" <gvpatel_at_hotmail.com> wrote in message
> > news:14133c52.0206171628.56cf7d83_at_posting.google.com...
> > > Can anyone explain me about DBWR slave process?
> > >
> > > Since we have DBWR process what is the need of DBWR SLAVE process?
> > >
> > > I heard something like async i/o and DBWR SLAVE help to achivw that.
> > >
> > > How?
> > >
> > > Is there any other SLAVE process for other oracle processes
> > > like(LGWR,CKPT,ARCH ..etc)?
> > >
> > > Thanks
>
>
> Hi Howard,
> We are running oracle 8.1.7
>
> So you mean insted of using DBWR SLAVE use multiple DBWR process.
>
> Am i right?

Correct. Provided of course you actually *need* multiple writers. If you've lots of contention for redo latches, or many checkpoint incompletes, for example, then multiple DBWriters might be just the ticket.

>
> Another question
> What is the role of DB_BLOCK_LRU_LATCHES in DBWR process?

Not much, really. That latch protects the LRU list, which your *server* process must consult when selecting a buffer into which to load a block off disk. If you've only one latch, but hundreds of users (and hence hundreds of server processes) you can get contention for the latch (free buffer waits springs to mind as a warning sign). Therefore, more latches can help. If you implement multiple buffer pools, you'll need at least one latch for each. If you've a contention problem, you can have more than one latch per pool, provided each latch looks after at least 50 buffers.

Regards
HJR
> Can you explain that
> Thanks,
>
> -Gaurang
Received on Tue Jun 18 2002 - 14:38:43 CDT

Original text of this message

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