write complete waits


write complete waits

The write complete waits event has two parameters: file# and block#. In Oracle Database 10 g , this wait event falls under the Configuration wait class. Keep the following key thought in mind when dealing with the write complete waits event.

  • The Oracle session is prevented from modifying a block that is being written by the DBWR process.

Common Causes, Diagnosis, and Actions

The write complete waits latency is symptomatic of foreground processes needing to modify blocks that are marked by the DBWR process as ‚“being written. ‚½ Blocks that are marked ‚“being written ‚½ cannot be modified until they are written to disk and the flags are cleared. If a session spends a lot of time waiting on the write complete waits event, it is usually due to one or a combination of the following reasons:

  • Slow I/O subsystem causing high DBWR write time

  • MTTR is too short

  • DBWR write batch size is too large

When the effectiveness of the DBWR process is impacted by the I/O subsystem, it can have a domino effect on foreground processes in terms of write complete waits and free buffer waits latencies. We have touched on the write complete waits event in the ‚“ db file parallel write ‚½ section of Chapter 5 and provided some examples. You may refer to the section again. The write complete waits latency is usually a secondary problem. You should focus on the average wait time of the db file parallel write event. Any improvement to the DBWR average write time should also minimize the write complete waits latency.

We have also mentioned how a short MTTR can produce a hyperactive DBWR process in the ‚“ free buffer waits ‚½ section earlier in this chapter. While an active DBWR process is beneficial for supplying clean buffers, it tends to write hot buffers out repeatedly. Sessions that actively perform DML operations can find themselves waiting on the write complete waits event. Therefore, make sure the FAST_START_MTTR_TARGET parameter is not set too low. One way to find out is to trace the DBWR process with the event 10046 at level 8 and observe the write calls ( db file parallel write ) over a period of time. If you continually see DBWR writing out before its 3-second timeout, chances are it is overly active.

Beginning in Oracle8 i Database, the default DBWR write batch size is 204 blocks. (We provided a query output example in Chapter 5.) This is changed from 4096 blocks in prior versions. This means starting in Oracle8 i Database, the DBWR write batch size should no longer be a factor that contributes to the write complete waits contention .




Oracle Wait Interface
Oracle Wait Interface: A Practical Guide to Performance Diagnostics & Tuning (Osborne ORACLE Press Series)
ISBN: 007222729X
EAN: 2147483647
Year: 2004
Pages: 114

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net