Craig Shallahamer's Blog
|
You were brought to this page based on an internet search
and as a free service to Oracle DBAs.
The text below is an except from the book,
Oracle Performance Firefighting, written by
Craig Shallahamer of
OraPub, Inc.
Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click
here.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
-------------------------------
<p>The database writers can also promote popular buffer headers. When a database writer is inactive, it wakes up every 3 seconds. Each database writer has its own write list (dirty list) and is also associated with one or more LRU chains. When an LRU chain's database writer wakes up, it checks its write list to see if it is long enough to warrant an IO write. If the database writer decides to build up its write list, it will scan one of its LRU chains looking for unpopular dirty buffers. Much like the server process looking for free buffers, the database writer will acquire the associated LRU chain latch, start at the LRU end of the LRU chain, and check if the buffer header is both dirty and not popular. If an unpopular dirty buffer is found, the database writer will move the buffer header from the LRU chain to its write list. (Keep in mind that the buffer header remains in the CBC structure so it can be found by other processes.) If the write list is still not long enough to warrant a write, then the database writer continues scanning its LRU chain, looking for more unpopular dirty buffer headers.
</p><p>Figure 6-20. Flowchart of a server process searching for a free buffer as the result of a physical IO block read and LRU chain latch acquisition. If a database writer is scanning an LRU, it is the same, except that an unpopular free buffer is not replaced, but skipped, and scanning continues.
</p><p>A buffer header's life in an LRU chain begins at the midpoint. Because other buffer headers are being replaced and inserted into the midpoint, as buffers get promoted, a buffer header naturally migrates toward the LRU end of the LRU chain. As presented in the previous section, the only way for a buffer header to get promoted is to be identified as popular. Another significant event occurs when a buffer crosses the midpoint, moving from the hot region into the cold region.
</p>
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
|
|
Know what's important before it's too late!
OraPub's Performance Training is like no other...
More Class Pics...
Get student testimonials!
|