From:Steve Adams
Date:05-Sep-2000 00:15
Subject:   8i DBWn changes


The main change has to do with how DWBn does writes in parallel. Previously,
DBWn could write multiple blocks in parallel (either directly using operating
system asynchronous I/O, or via multiple I/O slaves), but it could not start a
new batch of writes until the previous batch had completed. So just one slow
disk could affect total write throughput.

Under 8i DWBn is inherently asynchronous. That is, it can start a new batch of
writes while other batches are still being written. To support this, the write
list is now in two parts. The main write list contains candidate buffers for
writing as before, and there is an auxiliary write list containing buffers that
are busy being written already. The replacement list is also in two parts. The
main list has in-use buffers, and the auxiliary list has buffers returned from
being written (it also has scanned unpinned cold clean buffers for which no
write was needed). The subdivision of these lists makes scanning more effective.

There have also been improvements in the priority with which particular types of
blocks are written. Previously, pinged blocks were the only class of buffers
that got special treatment. Now there are separate queues (and priorities) for
the various types of checkpoint writes. This means that high priority buffers
are written more quickly than before.


-----Original Message-----
Sent: Monday, 4 September 2000 20:21


You've mentioned in previous answers that there has been many significant
changes to the DBWR algorithms in 8i.
Could you enlighten me on the main ones or point me in the direction of some
relevant notes? Oracle documentation for 8i
appears not to mention any significant changes.