Book Review: Troubleshooting Oracle Performance

July 17, 2008

I had heard about the publication of Troubleshooting Oracle Performance well in advance and I was eagerly awaiting getting my hands on a copy. I have to say Christian Antognini’s book has been well worth the wait. I have found this to be a fantastic book and well worth the investment of time and money.

The book has the following structure:

  • Foundations
  • This is a short section on basic concepts, there is an interesting page on the lifecycle of a cursor.

  • Identifying Performance Problems
  • This section/chapter is all about how you find out where your performance problem lies, lots of information on tracing and TKPROF. There is also mention of a command line tool, TVD$XTAT written in conjuction with Trivadis that gives extended information over and above what TKPROF can do.

  • Query Optimizer
  • This section includes a great chapter on reading execution plans with several detailed examples, in fact there are examples sprinkled throughout the book that really explain and reinforce the message that Christian is driving at. There is also a big chapter in gather statistics. Then the final chapter of this section is on SQL tuning techniques. Here Christian falls into a rhythm of explaining how a technique works, when to use it, and equally as crucially when not to use it. This style is continued in some of later chapters and I think is a great way of talking about various topics, in fact this style reminds me of one of my all time favourite Oracle books, Practical Oracle 8i by Jonathan Lewis.

  • Optimization
  • The last section of the book, covering over 200 pages is entitled Optimization, in here you will find excellent information on how the various types of joins work and which is the optimum join under which conditions. Other chapters in this section include a discussion on parsing and optimizing data access.

    I have enjoyed reading this, and I think what made it so good were the clear explanations of concepts always backed up with examples - there are explain plans sprinkled liberally throughout the book.

    All in all this book is packed with interesting insight and I’m sure you will learn something new about Oracle by reading it. For example does the positional order of a column in a table that you are retrieving data from have an impact on performance? If you don’t know, read Troubleshooting Oracle Performance and you’ll soon know the answer ;-)


    Book Review: Presentation Zen

    March 3, 2008

    I have just raced through reading Presentation Zen by Garr Reynolds and I have now become somewhat evangelical about this book and this approach to giving presentations. I have given a few presentations to user conferences before, nothing earth shattering but I hope reasonably informative. I hope none of my presentations were ever in the “death by powerpoint” zone, but after reading this book, it has made want to completely throw out my old style of presenting.

    This beautifully designed  book shows that less really is more when it comes to creating slides. Reynolds is firmly of the opinion that when the presenting the slides should reinforce the point you are making, not actually repeat what you are saying - I’m sure we have all seen presentations where the presenter has just read the contents of their slide, not necessarily all that common, but when you do see it, it really makes the audience suffer. Even when things are not that bad a lot of presentations do try and cram far too much information on the slide, the audience are there to see the presenter not read the slides -I have been guilty of this myself.

    The slides should not be able to be read on their own, without the presenter the slides should in fact be useless. He has coined a great word for slides that try to be two things at once, a slide and a document - the slideument. His idea is that you should write a document for the audience to take away that is completely different from the slides that you use as a visual aide in your presentation. This is a completely radical change from all the other conferences I have attended, but when you think about it, it makes perfect sense as I have often looked at slides of someones presentation and found them to contain information, but just not enough to make sense. If the person had actually produced a document to read, I’m sure I would have obtained more information - hey we can’t all go to every conference.

    The book also has good ideas in how you should prepare a presentation, but it is not prescriptive in the way you should format your slides, i.e. there is no, oh you must have X number of bullet points per slide etc. There are however some excellent examples of slides, and in particular there are quite a few before and after slides, and seriously the changes are fantastic, the better slide almost screams at you from the page. Reynolds is very much in favour of using high quality images in your presentations, his favoured resource for this is istockphoto.

    I have very much decided to incorporate the ideas in this book for my next presentation, which will be about comparing and contrasting ASM with ZFS. Hopefully this will be at the next UKOUG UNIX SIG.

    If you are interested in improving your presentation skills I highly recommend obtaining a copy of this book.


    Book Review: Oracle Automatic Storage Management

    January 2, 2008

    I have been using ASM for 2 years now on both RAC and single instance servers. I think I have a good handle on how to use ASM, but the documentation is extremely light on how ASM actually works and interacts with the RDBMS instance it is supporting. Things are improved a little with the 11g documentation, in that there is a new storage administrators guide book, but still it is not exactly clear on how ASM actually works.

    I was therefore keen to get my hands on Oracle Automatic Storage Management which would hopefully give a better insight into how ASM works than is available via the documentation alone. Interesting to note that two of the authors are also two authors on the oracle documentation itself.

    I would say it’s a bit hit and miss. The book starts with an introduction from the architect of ASM, Bill Bridge. This was fascinating, in how long it took to go from initial idea to released product, 7 years! I also found it interesting that part of the initial design goal was that there would not be a directory tree, and files would not have names nor be accessible via the standard OS utilities. It now makes sense as to why ASMCMD feels like a bolted on piece of crud. I wonder how much this lack of filesystem familiarity has hurt ASM take up? Certainly when first released I was skeptical, partly as I was so used to being able to “see” my database datafiles - it’s a bit of a mindset shift moving from a cooked filesystem. I’m still not all that convinced it brings much to a single instance, but I think ASM with RAC makes a lot of sense. The changes in name of the product over the years also give an amusing insight into marketing at Oracle.

    Chapters 10, & 11 really give you the added value over and above the online Oracle documentation, in that they give more detail on how ASM actually works in terms of the metadata and how the RDBMS actually ineracts with ASM held datafiles. I found the myth-busting in these chapters very worthwhile. While Chapter 5 has a little on Allocation Units and extents that is also of use. Unfortunately, I would say quite a few of the Chapters have a bit of filler in them, and there are many screenshots. I’m not all that keen on screenshots and I personally find they take up a lot of space for little added value. I also felt a few of the chapters did not give much added value over the documentation, which to be fair does tell you what you need to get up and running with ASM.

    So all in all, there are some nuggets in this title that I found interesting/useful to know, but I suspect you could bump along happily without it and if Oracle improved their documentation just ever so slightly, you could save yourself a good 30 pounds sterling.