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: Tuning DBWR

Re: Tuning DBWR

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Fri, 14 Jan 2000 09:52:26 -0000
Message-ID: <947846897.8549.0.nnrp-03.9e984b29@news.demon.co.uk>

Not necessarily true in version 8. Multiple DBWRs allow for multiple collectors of dirty blocks whereas async I/O with one db_writer has only one collector even though it has many writers.

Also, async I/O allows you to flatten out the effects of minor peaks in I/O at a cost in CPU and memory. Under heavy I/O load async I/O is all cost and no gain - to misquote (and mis-attribute) Yogi Bear

    The I/Os are not over until the I/Os are over If you have too many I/Os they still have to queue.

Mark Powell has made the most significant point so far, I think, regarding the two disc configuration - basically this is not enough disks for an Oracle system of any size.

Two suggestion

If the problem occurs at log-switches, which probably means at checkpoints, this indicates that there are very large numbers of dirty blocks which have to be written to disk, and DBWR is working like mad to dump them. Remove the bottleneck by making DBWR work harder between checkpoints. There are various ways of doing this, but one is to set the (relatively) new parameter:

    db_block_max_dirty_target
This makes Oracle allow no more than that number of dirty blocks in the buffer. It defaults to unlimited; try setting it to values like 10%, 20%, 5% of your db_block_buffers and see if this improves things.

Alternatively - with apologies for asking potentially insulting questions - how are you determining that there is an I/O bottleneck ? Is this based on I/O statistics, or on the apparent response time from the application ? If the latter, then perhaps you don't have an I/O problem, you may simply have log files which are too few and too small - look in the alert log for messages like:

    cannot switch logfile checkpoint not complete when a message like this occurs, no further updates to the database can take place until all marked dirty blocks have been written, thus releasing old redo logs for re-use.

If you have frequent messages of this type then consider making your redo logs much larger.

--

Jonathan Lewis
Yet another Oracle-related web site: http://www.jlcomp.demon.co.uk

ora7dba wrote in message ...
>What has not been discussed is ASYNC I/O ... using async i/o is faster than
>trying to add more DBWR's. HP's are a different animal (compared to sun's)
>so you need to check into your OS support for async i/o.
>
>-Mike
>
><sandrazil_at_my-deja.com> wrote in message
news:85iv71$o0f$1_at_nnrp1.deja.com...
>> Hi All,
>> I am having a performance problem whenever there is a log switch, and
>> when DBWR writes dirty buffer to disk. It takes 2 minutes for DBWR to
>> complete its job, during that time there is a I/O Bottleneck. I am
>> running Oracle 8.05 on HPUX 11.0 ( 32 bit), i am running 4 DBWR's. I
>> have performace problem only during this 2 minute interval. Any
>> Suggestions is highly appreciated,
>>
>> Thanks,
>>
>> Sandra
>>
>>
>> Sent via Deja.com http://www.deja.com/
>> Before you buy.
>
>
Received on Fri Jan 14 2000 - 03:52:26 CST

Original text of this message

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