Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL



The target audience of this book is the Oracle development team—the group that has 100 percent control of the overall performance of the system. This team includes the data modelers, the developers, and the DBA staff. This is contrary to the popular myth that the DBA is responsible for every aspect of an application's performance and has complete control over it. The best way to understand the fallacies surrounding this old view is to use the analogy of a car race. The DBA is the pit-stop guy who changes the tires, makes sure the engine is gassed up, and that the car functions. If you give this pit-stop guy (DBA) a Lincoln Navigator (a truly huge truck) and tell him you want to race the Indy 500 with it, what will happen? The DBA can make sure the truck runs as fast as it can but he cannot affect the performance of the truck on a tight corner at 100+ miles per hour. There is really very little he can do once the car has been designed and built (short of throwing it out and starting over—the car is the application here).

The primary audience for this book is the Oracle development team that's not quite sure how to approach designing and building a scalable system using Oracle that performs. This is not a beginner's book. It's for the Oracle developer who already knows how to enter SQL statements, use SQL*Plus, and so on. It will not teach you SQL; it will teach you the things you need to know to write "good" SQL. It will not teach you how to code an application; it will teach you the things you need to know to write a "good" Oracle-based application.

I'll use yet another analogy to describe how this book will present information. Pretend for a moment that the developer is instead a physician and the application is the patient. There are many types of MDs:

  • The emergency room (ER) doctor These physicians do "triage," separating the hopeless patients from those that can be helped, performing quick-fixes along the way to keep patients alive as long as possible. They will take a heart-attack patient with a history of smoking, bad diet, and no exercise and stabilize their condition.

  • The operating room (OR) doctor The OR physician gets the patient after they've gone through triage and after the ER doctor has temporarily patched them up. The OR doctor strives for long-term fixes to keep the patient not only alive but functioning as well as possible. They perform the by-pass operation on the heart attack victim, attempting to clear the arteries.

  • The physical therapist (PT) The PT gets the patient when the OR doctor is through and begins the long and painful (not to mention expensive) process of rehabilitation.

  • The preventative medicine doctor These physicians strive to avoid the preceding three doctors at all costs. They counsel the patient to quit smoking, eat a healthy diet, and exercise, developing a multistep program to get them in shape. If they do their job right, barring unfortunate incidents (like a car accident), the patient will never see the ER, OR, or PT doctors.

Now, the world needs all types of doctors—after all, accidents do happen. But perhaps the most important M.D. is that last one, the preventative medicine doctor, who attempts to keep his patient from needing the other three.

It is my belief (experience) that most people, and books, approach tuning with the mindset of the first three doctor types I mentioned. They believe strongly in the "hero" developer—the ER or OR doctor. Perhaps because of this, good design and implementation typically seems a thankless exercise. The ER and OR docs, meanwhile, get all the fame, snatching the patient from the brink of death (and thus saving the system by doing something miraculous). They get called in at the last moment; slave to keep the patient alive, and are handsomely paid as well. The physical therapists, on the other hand, are the unlucky souls who get the system after the ER/OR doctor has patched it up, and are thus tasked with the responsibility of keeping it going.

I'm well-equipped to speak from the ER perspective since I am, in fact, one of those "heroes" who are often called in to "lay hands on" systems and make them better. I could have written that book—indeed, I've been told I should write that book—but I didn't.

What is missing, however, is the comprehensive approach that includes the preventative medicine doctor training. There are some books out there that cover it though—my favorites being Guy Harrison's Oracle SQL High Performance Tuning, 2nd Edition (Prentice Hall, 2001) and Jonathan Lewis's Practical Oracle 8i Building Efficient Databases (Addison Wesley, 2001). These books, including my own, Expert One on One Oracle, (Wrox Press, 2001) work to remove the need for the hero. Remember, firefighters are heroes when they do their job—we all just hope we never need them personally!

Instead, this book acts as a mentor to the reader, providing an overall structure and approach to performance tuning that includes discussions about:

  • Tuning before you start designing

  • Designing with specific performance goals in mind and continuously testing towards them

  • Trial and error (making sure each item works as advertised, and knowing your software; many performance issues are directly related to not understanding how the database software actually works)

  • Real-life accidents. We'll also look at the ER/OR doctor roles, but this isn't one of the book's end-all goals. After all, the knowledge you learn as a preventative medicine doctor should help limit the roles of those more colorful M.D.s.

Whereas most books focus totally on being a hero, this one concentrates on becoming a solid producer of quality output. Rather than dwelling on fixing a broken system, it focuses on building systems that do not break. After all, over time, it's the person who does this (builds systems that don't break) who's seen as the real hero.

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint