UKUUG home


(the UK's Unix & Open Systems User Group)






Book Discounts

Other Discounts

Mailing lists






Optimizing Oracle Performance Cary Millsap
Published by O'Reilly and Associates
416 pages
£ 24.95
Published: 26th September 2003
reviewed by Mike Smith
   in the December 2003 issue (pdf), (html)

There's a little note across the top of the cover on this book -- ``A Practitioner's Guide to Optimizing Response Time''. This is quite key point for me, as this guide specifically addresses one particular performance issue - that of user response time. You might think that this is the only performance issue, or at least the most important one. And you'd probably be right in the latter case, but there are other forms: For instance, I like to get the best out of a system in general - so although I might not get the best response time for a particular transaction, the flip side is that the system might be able to support twice the number of users, or something. It depends what value you apply to the response time (and actually with today's Service Level Agreements, you can put a value on it) but with the cost of an Oracle license at 6,000 (or whatever) per CPU [and the proportional ongoing maintenance cost too], supporting the user estate with half as many CPUs can often take precedence.

In fact Sun have cottoned-on to this concept -- they have been talking about ``Throughput'' computing for a while, and are developing multi-core CPUs (a bit like Intel's Hyperthreading). The idea is to get more work done with a CPU, rather than just doing things faster. The primary reason for this approach in the CPU environment is the memory latency -- but with the CPU multi-threading stuff and interleaving the memory accesses accordingly, you can get a lot more done in the same timeframe -- but each particular piece of work isn't going to get done any quicker (... and possibly a little slower, in fact). Anyway, back to tuning Oracle ...

I am sure I've said in a previous article (most likely another book review) that you can only get a low, 10% maybe, performance improvement at the DBA/System level; 90% of potential improvements are at the application/coding level. The author seems to be in agreement, looking at SQL code amongst other areas. Its worth remembering though that there's typically a whole host of other technologies a transaction passes through; Not just the database: You need to think about the user interface, wide area network, application servers, LAN and the storage subsystem too. So a holistic view to performance is needed. Tools like Veritas i3 (formally from Precise Software) are quite cool for J2EE environments, for instance. And if you're familiar with EMC's DB Tuner, this is from the same stable.

The book has three major sections, plus some appendices. The author, Cary Millsap, calls these sections ``Method'', ``Reference'' and ``Deployment''. The first section is fairly brief, and provides an overview of where to look in terms of measuring performance. Note that this is not a cookbook of techniques though - its more about teaching you the concepts so that you can use the principles yourself to go further.

The second section goes into a lot of detail - specifics about analysing Oracle trace data, for instance, and many other areas (some theory and modelling too). However there's a lot of heavy material here, and I haven't got my head around it all for this review. The point of this section is the detailed analysis of what Oracle is doing. Its not just about EXPLAIN PLAN these days -- the main tools are the Oracle wait interface, and the extended SQL trace facility. If you don't know about these and you're a DBA, its worth making time to investigate.

The final section is again quite short: Its about deducing what you can do to improve performance. So you might need to tweak SQL*Net parameters, or do the usual things with IO, multiple DB writers, relink in single task mode or whatever. The detail for this discussion doesn't matter - and indeed there's precious little technical detail here - its more about the process really.

Each chapter also has a set of exercises at the end - maybe Millsap expects the text to support university courses.

So this book is about a methodology for performance analysis and the consequential tuning: How to approach the problem, where to look, and what to measure. Its quite advanced, some new theories (new to me anyway) and not at all what I expected. To reiterate, its not about the quick or easy parameter tweaks (these approaches don't have any major impact on performance anyway), and its not a list of performance tuning techniques either - its about the approach. As long as you take on board these points and know what you're getting into, its worth a read.

Millsap setup the System Performance Group in Oracle, and made VP - so knows his stuff. The book has been produced in conjunction with his new venture, which is an Oracle performance tuning company (he left Oracle a few years ago to set it up.) I hadn't heard of them -- head in the sand as usual. So I have a slightly uncomfortable feeling that the book is just a way of increasing their exposure and promoting their tools and services. Its worked of course, because I'm writing about it.

Back to reviews list

Tel: 01763 273 475
Fax: 01763 273 255
Web: Webmaster
Queries: Ask Here
Join UKUUG Today!

UKUUG Secretariat
More information

Page last modified 03 Apr 2007
Copyright © 1995-2011 UKUUG Ltd.