Oracle Performance Firefighting
by Craig Shallahamer

Get the book here



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.
Please—Out 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.

-------------------------------

Every commit issued2 and current mode buffer change (consistent read buffers do not have their changes recorded) must be recorded for recovery purposes. And the moment we are concerned with recovery, serialization becomes of critical importance. It's the combination of change recording and serialization that can force Oracle to place tremendous requirements on the operating system. When redo-related operating resources become scarce, response time begins to skyrocket, and the contention can be easily diagnosed by performing a wait-event analysis or a response-time analysis. If you perform the OraPub 3-circle analysis, within a few minutes, the performance story will be blatantly apparent.

The rule of thumb is that any buffer change results in redo generation. While cloned buffers are the exception, this rule of thumb will help when understanding redo generation and flow. There are two surprising examples of recording change that drive this point home. The first is associated with undo-related redo, and the second is query-related redo. But before we dive into the interesting situations, we need to discuss just what is actually recorded.

Oracle is obviously motivated to minimize the amount of redo generated. Every byte saved is one less byte of memory management, and also one less byte written to the IO subsystem. Buffer changes, called change vectors by Oracle kernel developers, are bundled into redo records (also called redo entries), which are copied into the redo log buffer and then into one of the online redo log groups by the log writer background process.

©2009, 2010 by Craig Shallahamer. This is copyrighted material.
Please—Out 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!