Oracle Performance Firefighting

• It’s the only Oracle book I’ve read cover-to-cover. •
Michael Anderson

Enter something

Details     Buy Print Now  Buy PDF Now   Buy Print & PDF Now


Here's what people have to say besides, "Craig, This is a good read!"

"This is one of the greatest books I have ever read regarding oracle performance." Yves Colin

"Thank you for your Oracle Firefighting book. This is very much what I think is missing out from Oracle as official documentation for the last 15 years. Especially the latches / mutex / cache buffer chain latch stuff makes it so much easier to explain the issue to my customers. I simply cannot express how it feels to move from guessing about wait events to simply looking it up and understanding a plausible explanation." Ole Raether

"I have been glued to your book since I got earlier this month. I take it with me everywhere. I brought it with me to NoCOUG last week, and showed it to everybody that I could." Dave Abercrombie

"I am Oracle Certified Professional since 8i version and i want to say you that your book "Oracle Performance Firefighting" as well as "Oracle Forecasting Oracle Performance" changed so much my way of thinking and burst my knowledeges and capabilities in working with Oracle. Oracle Performance Firefighting is now for me "The Fish Book".... or simply "THE ORACLE BOOK". Thank you very much for writing it and i hope that you will continue to write such books about Oracle." Adrian Sperlea

"I am reading your latest book on Oracle firefighting and loving it. I really appreciate what you have done with this book." Sumit Kumbhar

"I received my copy of Oracle Performance Firefighting a few weeks ago and I’m thoroughly enjoying your book. Everything is explained very clearly and the information is priceless. I own many Oracle books but this is one of the very few that rank on the mandatory list if one wants to become an Oracle expert. Thanks for writing such a great book." Enrique Aviles

"I just wanted to let you know I have received the books, and after a quick review with my best friend (we're both Oracle senior DBAs) we have come to the conclusion that the content value is beyond all expectations! Now it's time to read and take advantage of all precious information provided. Thanks again!" Olivier Bernard

"Your book could benefit a PL/SQL developer by understanding how Oracle works “under the hood.” Of particular interest are latches, enqueues and mutexes. These concepts and how they are implemented and utilized by Oracle can help developers judge the efficiency of a particular SQL statement and how well it will scale in a multi user environment." Enrique Aviles

"I just finished the Firefighting book. It’s the only Oracle book I’ve read cover-to-cover. The brief discussion around batch processing will come in handy because I have a batch process that is supposed to finish by 9am and it usually doesn’t finish until 9pm." Michael Anderson

"I'm still reading your book and it's excellent!" Jialu Zhang

"It's for sure one of the best (if not the best) Oracle Performance troubleshooting book ever written (sincerely). The most impressive to me, is that for the very first time we have here a master piece about understanding the oracle internals (an incredible amount of details put together in a very easy to understand way), their close link to posted wait events such as latch wait events when put under pressure by the workload, last but not least, (and i insist on this) solid proven solutions to solve these very specific wait events. lots of books will talk about all these wait events but when it comes to solve the performance issue, a few people are able to deliver a global understanding and true working solutions. This book does it all and in the most beautiful way." Olivier Bernhard

"I am working with Oracle Products for 15 years now and is the first book for me which make it clear how oracle internals are. Your book help me to think about oracle and not just read about it, in documentation, white papers, opinions, etc..... Many time was just confusion to me when i read about pinning, LRU, MRU, latches, buckets...... You have the quality, for the first time in my case to present complex alghoritms in a very direct and in a pedagogical way." Adrian Sperlea


Oracle Performance Firefighting is rock-solid. Contained in this book are over 180 diagrams and graphs, countless experimental results demonstrating the deep technical content, and full of real life examples. Craig Shallahamer poured his soul into the book to create a practitioners handbook-like reference guide.

Creating the book was a massive undertaking. Over twenty-five years of IT experience and twenty of them specifically focused on Oracle systems, countless consulting engagements and technical research papers have been consolidated into this single book. Craig framed the book during June of 2008 and started writing in September of 2008. After ten months of writing, reviewing, revising, and copy editing resulted in a product everyone involved is proud of.

Top world renowned performance analysts were recruited for the technical review process: Tim Gorman of Evergreen Technologies, Dan Fink of OptimalDBA, Gopal Kandhasamy of Oracle, Kirti Deshpande of Oracle, Dean Richards of Confio Software, and Dwayne King of Kridan Consulting. Each one of these individuals contributed countless hours reviewing every word Craig wrote. Responses like, Excellent chapter! Truly incredible! This is amazing stuff! I felt like I was reading the finished product! encouraged Craig to continue his commitment and finish the project.

This book is aimed at helping you to confidently and effectively operate in intense performance firefighting situations. To do so takes a unique combination of systematic method, perfect diagnosis, deep Oracle internals knowledge, the ability to communicate the complex in simple terms, and confidence in each of these areas. This book is squarely focused on developing in you, these characteristics and skills.

Now you have the chance to read the book yourself. If you want to improve your firefighting skills and learn from one of the true Oracle performance masters, then you need this book.


This book was created to a handbook of sorts. Something you'll always have with you when you firefight. It's organized into four fundamental parts.

  • Systematic Methodologies. We’ll start by delving into a series of field-proven methods resulting in a dependable and structured approach which also provides a natural way to explain our complex analysis in a way that even managers can understand!
  • Spot-on diagnosis and deep analysis infusion techniques so you can listen to Oracle as it tells you where it hurts, that is, where the pain, the contention, the performance limiting issues reside.
  • Deep internals that are relevant; so you will naturally arrive at correct and appropriate solutions to remove the pain.
  • Quantify expected benefits by combining everything presented into a complete performance analysis including how to quantify the expected benefits from each of your proposed solutions!


Chapter 1, Methods & Madness is about how to approach firefighting from a systematic, holistic, and cooperative perspective. This chapter creates the framework upon which this entire book is based, setting the stage for a massive infusion of diagnostic details, Oracle internals, and advanced analysis.

Chapter 2, Listening To Oracle’s Pain will teach you how to diagnose complex Oracle systems with pinpoint accuracy. The material is based upon Oracle's kernel instrumentation and response time analysis using the latest Oracle capabilities.

Chapter 3, Serialization Control; the lock, latch, and mutex is a mystery to many including the most seasoned Oracle professionals. And with 10gR2, Oracle introduced mutexes! Most DBAs feel there is little you can do when latching contention raises its ugly head. Not true! I have found once one understands the general latch and mutex algorithms and are equipped with Oracle's memory architecture and algorithm internals, latch/mutex contention solutions become very apparent.

Chapter 4, Identifying and Understanding Operating System Contention focuses on each subsystem (I/O, memory, cpu, network) teaching you how to quantify both throughput and contention (entire system and top processes) using standard U/Linux tools. If you want effectively fight performance fires, you must be able to quickly find the operating system bottleneck and relate that to Oracle.

Chapter 5, Oracle Performance Diagnosis rounds out and digs very deep into, among other things, gathering performance statistics, avoiding myths and pitfalls, dealing with the realities of modern Oracle architectures, taking advantage of advanced Oracle data collection capabilities, and introduces Oracle’s built-in kernel level data collector, known as ASH – short for active session history.

Chapter 6, Oracle Buffer Cache Internals. Oracle’s buffer cache operation must be smooth, contention free, and light-speed fast for optimal performance. There are a large number of Oracle wait events surrounding the buffer cache. The buffer cache is an amazing Oracle technical accomplishment and it’s our job to ensure it is running optimally. I will go deep into the key algorithms, including how to diagnose real problems as well as how to resolve them.

Chapter 7, Oracle Shared Pool Internals. Oracle’s shaerd pool is extremely complex and can have significant performance problems, in large part because the shared pool contains a large number of different memory structures each with unique characteristics that must relate to potentially many other shared pool structures. In this chapter I take a divide and conquer approach to ensure the problem is correctly diagnosed, the related structures and algorithms are understood, and therefore the solutions naturally present themselves (really).

Chapter 8, Oracle Redo Management Internals. Redo related contention identification is shockingly straightforward yet can be frustratingly difficult to resolve. I’ll take this on by presenting the core algorithms, precisely understanding what the problem is, and how to address it. As you’ll find, some of the solutions are quite creative.

Chapter 9, Oracle Performance Analysis integrates all topics presented in this book pushing into a deeper understanding of the situation and the ability to shift a responsive performance situation into a forward looking solution. Personally, this is the most fascinating chapter because it shows how to perform a complete performance analysis including quantifying the expected benefits for each solution. This allows you to present your recommendations to your peers and management with authority and conviction.