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.

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

Most people in IT are aghast at the cost of an IO subsystem capable of meeting an Oracle system's IO requirements. While I don't disagree with the fact that there is a considerable amount of money spent on IO subsystems, I think it is important to understand the technical challenges IO vendors face to make the impossible, well, possible. It starts with a basic understanding of IO subsystem queuing theory.

Have you ever head someone say, "Our CPUs are not balanced. We've got to get that fixed."? You might have heard this if you're an operating system kernel developer or work for Intel, but not as an Oracle DBA. This is because there is a single CPU run queue, and any available core can service the next transaction. But IO subsystems are fundamentally different.

Figure 4-17 shows how we model both a CPU subsystem and an IO subsystem. Even a quick glance shows they are fundamentally different. The key in understanding their differences is recognizing that an IO device cannot serve every IO request. In fact, an IO device can service only requests that are intended specifically for that device. So while one IO device may be actively servicing requests, it's completely possible another device may not be servicing any requests. In stark contrast, a CPU core has no choice (not that this represents a problem either) but to service the next transaction in the single CPU run queue.

©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!