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.
-------------------------------
Finding the optimal in-memory to IO operations balance becomes even more difficult without changing core algorithms. So, as you might expect, Oracle has changed its core algorithms to keep up with larger caches and increased CPU processing speeds. Change represents risk. Oracle does not want to change its code unless it absolutely must. Unless you have worked on a large software product on which the entire existence of the company is based, this can be difficult to appreciate. Even the slightest change can cause unexpected and cascading performance issues, not to mention functional problems. So Oracle must see clear advantages and be highly motivated to take the risk of changing its code. As you will learn in this chapter, Oracle has taken this risk and continues to take this risk.
One creative way to deal with balancing in-memory and IO operations is to develop self-adjusting algorithms. For example, if IO operations begin to slow down, then automatically adjust the algorithms for decreased IO operations. Or if there is an abundance of CPU power, then automatically shift processing to consume CPU with the intention of improving performance. This is one reason why good performance statistics are so important to Oracle. Fortunately for us, Oracle makes much of this information available to us.
An Oracle buffer is an Oracle segment's cached block. As you might expect, an Oracle buffer starts off containing the same information as in the Oracle block. A buffer's contents depend on the type of segment and whether it's a segment header block.
©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.
|