Title: Oracle Database 10g New Features – Oracle10g Reference for Advanced Tuning and Administration
Authors: Daniel Liu, Don Burleson, Madhu Tumma, Mike Ault
Published by: Rampant Tech Press
Publication Date: 01 December, 2003
Details: 530 pages, $34.95; code depot at: http://rampant.cc/new.htm
SummaryIt is not a reference, it is a new features overview. It is an assorted, hardly edited or annotated copy from several Oracle Manuals and White Papers. Do not buy it. If you have copy, browse through it and have it pique your interest.
(this text is taken from the publisher’s website) Written by the world’s top authors of best-selling Oracle books, Mike Ault, Daniel Liu and Madhu Tumma target their substantial knowledge of evaluating Oracle new features in this important book. With decades of experience evaluating new Oracle features, this book focuses on the most important new DBA features of Oracle10g as they relate to database administration and Oracle tuning.
This book provides honest feedback about those Oracle10g features that you should use, and those you should not use. The text takes an in-depth look at those Oracle10g features that are the most important to system performance and Oracle10g database administration.
Best of all, the authors have created dozens of working samples in the Oracle10g online code depot. Examples from all areas of Oracle10g are covered with working scripts and code snippets. Your time savings from a single script is worth the price of this great book.
This is not a Reference Manual. It is largely a compilation of (slightly reordered and somewhat rewritten) sections of Oracle documentation. It discusses most subjects rather cursorily. No subject is described in full detail and in depth – which is to expected in 530 pages with this breadth of topics. The subtitle of the book is somewhat misleading. It does give an overview of New Features and as someone who focuses on Application Design and Development, I found a substantial number of topics of interest – so in that sense the subtitle is once again misleading (Advanced Tuning and Administration), but for me a in positive way.
I was quite disappointed with the added benefit of having – as Don Burleson states in his preface – ‘some of the world’s leading experts’ to produce this book: they added far too few personal observations, practical suggestions and evaluations of the features they introduce and describe. I would expect them to do much more than just summing up features with flimsy introductions. The examples in the book are not good enough to my taste: there are too few, they do not dig deep enough and usually they do not show the output of the code demonstrated.
Sometimes the book is unclear as to what is really 10g and what already could be done in 9i. The discussion of Query Rewriting is an example, as is the overview of Table Functions (page 184) or the mention of the WITH (sub-query-factoring clause on page 120). I am not sure whether this is sloppy writing, inaccurate copy-and-pasting or ignorance on the part of the author. The book also suffers somewhat from having been written in advance of the release of the Production Software. It refers to features that have been renamed since this book was written and as a result some of the code sample simply do not execute (e.g. Grouped Table Outer Join adn WITHIN GROUP syntax – page 120 which has been replaced with Partitioned Outer Join and PARTITION BY syntax).
One of the key features for the book was announced as: “Receive an online code depot to get you started fast with Oracle10g.” It is at http://rampant.cc/new.htm and contains all of two (that is TWO, 2, one+one,1+1=2) scripts. Not that the book contains many examples or very good examples but I would at least expect them to be in the code depot. I cannot believe a code depot of less than 50 lines should be called a key feature for a book.
Is the book completely worthless? No it is not. As an overview of selected new features and introduction beyond the Oracle New Features Manual it certainly has its place. I read it, already knowing most of the new features, but still picking up one or two things. The book may very well trigger you into diving into the proper Oracle documentation to find out detail on interesting new stuff. Too bad it does not contain any references to the documentation. It may be already late in the day for this book – it was very early on the market and now has been overtaken by many others that have taken more time to polish the details, test against the production release and add more personal insights. I would not recommend buying it today. If you come across a copy, you might as well browse through it.
Sometimes the language is simply not clear (to me). For example, on Fine Grained Auditing (page 431) it says: “The 10g database release enhances the FGA capability. The Extended SQL support in FGA now supports granular editing of queries as well as UPDATE, INSERT and DELETE operations.” To me that reads as if in 9iR2 you could audit DML statements and in 10g the capability to also audit queries was added. I happen to know the reverse is the case: 9i can audit SELECT statements and now 10g can also audit DML statements.
The index is not extremely useful. Not overly important but irritating: the Table of Contents refers to a section on Fine Grained Auditing (FGA) (page 253). However, the index does not contain either FGA or Fine Grained Auditing. With 10 pages of Table of Contents and only 8 pages of Index it is clear the index does not add enough value.
Examples: there are not many of them and they are not as good as the quality of the authors would suggest it would be. For example the SQL MODEL (or SPREADSHEET) Clause, discussed in Chapter 5 – DML Features (strange place for this subject by the way), page 106. The authors spend 9 pages introducing syntax – which is fine although I would have preferred some examples and explanatory text in between. Then they state “Let’s begin with an easy example. Sometimes Oracle’s examples are overly complex, performing multiple table joins on multiple layers, in short, trying to show every conceivable use of a command with one example.” And I concur. So I sit back and relax for a large number of examples, gradually building up complexity. And I look forward to it. I turn the page and there is the first example, grantedly simple. They use the MODEL clause for what would better have been done using the CASE statement. But hey, it works and provides a good starting place. Then the next page says: “For the final example…” We are only on to the second example. After 9 pages of introduction and the promise of starting simple… they finish after only two examples. And the second example is about as lame as the first one. This was really a big disappointment! by the way, this is one of the few places where the output of sample code is properly shown, so that is a good thing.
It seems like the authors took one of the database features they discuss – Query Rewrite – and gave it a new spin: Documentation Rewrite. After having read through a substantial portion of the book, I had this nagging feeling of having read some things before. I started paying closer attention and I came across a few section that were almost identical to section in the Oracle Documentation. Some sentences were slightly rephrased, sections were ordered differently but by and large I stumbled on several multi-page sections that were 95% copied from the on line documentation. Take for example Chapter 17 on the Globalization Development Toolkit. Now look at the Oracle Globalization Support Guide, for example Chapter 8 and 12 and Appendix A. Chapter 7 on Asynchronous Change Data Capture is heavily inspired by the Oracle Data Warehousing Guide, 16 Change Data Capture. Also see the screenshots in chapter 18 for Oracle Enterprise Manager: most of them were shot on Oracle’s internal machines. I have not looked for the documents that these images were taken from but again I am convinced that the authors did not produce them especially for this book.
I have the feeling that holds true for most of the book, but I will not spend more time on this so I do not know for sure. Of course since most of Oracle’s documentation is pretty good, using sections in your book is not all bad. However, tell me so! Now I feel cheated on. And, since I already got the documentation, the book should clearly add value. In many (probably even most) areas, it does not!
I think it would have been good if the authors of this book would have stated more clearly what they had written and what they had taken from Oracle manuals, including references to those manuals to allow easy further reading.