Every once in a while, it’s worth noting an exceptional
product or publication, and the purpose of this article is to do just that by highlighting
Sam Alapati’s Expert Oracle Database 10g Administration (Apress).
The amount of material covered in the book is extensive and its database
version emphasis is entirely on Oracle 10g. In addition to standard
database administration topics, supplemental chapters cover generic or
independent of database version topics such as PL/SQL, modeling, and UNIX. As a
disclaimer, I have no affiliation with the author or publisher.
As to whom the book’s audience is intended to be, the author
states up front in the introduction that the book is “primarily intended for beginning-
and intermediate-level Oracle Database 10g DBAs.” Expert-level does not
appear in this description, so a fair question to ask is why the title of the
book includes the word expert. It’s no secret publishers publish books to make
money, and along with that effort comes some marketing or advertising spin.
Much as many of the “complete reference” books are in fact not complete, they
can still be quite valuable as reference books. In that light, not everything
in the book is written for experts, but experts can still benefit from the
material it presents.
Structure of the Book
The book is divided into eight parts:
Data Modeling, and UNIX/Linux
Database 10g Architecture, Schema, and Transaction Management
Oracle Database 10g, and Creating and Updating Databases
and User Management
Loading, Backup, and Recovery
the Operational Oracle Database
Data Dictionary, Dynamic Views, and the Oracle-Supplied Packages
Highlights of some specific parts and chapters
Part One provides a good introduction to beginning DBAs of
what Oracle is about. Types of databases and types of DBAs are covered as well
as some sage advice (end of Chapter One). Primum Non Nocere (“first, do no
harm”) is applicable in recovery situations. The extremely important guideline
of never putting yourself into a situation worse than you already are is what
this admonition is about. This is a valuable point to be learned early on as a
DBA and if “first, do no harm” drives that home for you, you will be well ahead
in the game. Chapters 2 and 3 provide quick primers in data modeling and UNIX. Database
modeling skills apply to all databases, not just to Oracle, and the same holds
true with being fairly adept in UNIX and system administration. For the novice
or beginning DBA, these are areas you will want (and need) to read about
elsewhere in more detail.
Chapter 16, Database Recovery, contains step-by-step
examples of recovery situations using both user and server managed recovery
commands or options (i.e., command line syntax and RMAN commands). The chapter
also includes sections on LogMiner and flashback techniques and recovery. One
of the strengths of the book is the straightforward manner in which the author
explains how a feature works, and an example of that is his explanation of how
flashback drop works (including an example). Even better are explanations of
various scenarios revolving around dropped tables.
Chapter 17, Automatic Management and Online Capabilities, starts
with background on the Automatic Database Diagnostic Monitor (ADDM). One of
Oracle 10g‘s characteristics is its inclusion of several monitors and
advisors, features that were virtually nonexistent in older versions. How do
you set or enable ADDM and how do you run it? Both questions are answered in
this chapter. The chapter also includes a section on how to read an ADDM
report. The sample report is more comprehensive than what is found in Chapter
6, “Automatic Performance Diagnostics” of the Oracle Performance Tuning Guide.
What if you want to manually run an ADDM report?
Instructions on how to use the DBMS_ADVISOR package are included, and you can
see the results for your own system by copying the example on page 769-770
(connected as SYS).
SQL> exec dbms_workload_repository.create_snapshot();
PL/SQL procedure successfully completed.
SQL> set long 1000000
SQL> select dbms_advisor.get_task_report(
2 task_name, ‘TEXT’, ‘ALL’)
3 from dba_advisor_tasks
4 where task_id = (
5 select max(t.task_id)
6 from dba_advisor_tasks t, dba_advisor_log l
7 where t.task_id = l.task_id
8 and t.advisor_name = ‘ADDM’
9 and l.status = ‘COMPLETED’);
DETAILED ADDM REPORT FOR TASK ‘ADDM:1105699625_1_896’ WITH ID 5056
Analysis Period: 23-SEP-2006 from 17:07:37 to 17:16:03
Database ID/Instance: 1105699625/1
Database/Instance Names: ORCL/orcl
Host Name: T42
Database Version: 10.2.0.1.0
Snapshot Range: from 895 to 896
Database Time: 44 seconds
Average Database Load: .1 active sessions
Chapter 17 leads into the topics of Chapter 18, “Managing
and Monitoring the Operational Database,” and this is what the heart of Oracle 10g
is about: automated management and monitoring. As examples, the Oracle
Diagnostic Pack and the Oracle Tuning Pack (at the time of writing) cost an
additional $3,000 (Online Store at www.oracle.com).
The two chapters in Part 7, Performance Tuning, provide a
decent introduction into this area without going into too much detail. An
“expert” in performance tuning can skip the chapters in this part of the book,
but overall, Alapati’s coverage of performance tuning is very competitive (in
terms of scope and readability) with full-length books dedicated to this topic.
Material towards the end of the book – covering the data
dictionary, built-in packages, and the SQL primer appendix – can be viewed in
one of two ways: nice to have in a single reference or really not necessary
since the information is readily available elsewhere for free. Including the
material isn’t much different than what Oracle Press does in many of its books,
that is, publishes a reference book which basically states the same thing in
Oracle’s own documentation. As a standalone reference covering many topics, I
would prefer to have the material included and seeing a topic explained in a
different way by someone else can be useful when learning the complexities of
Coming back to the use of the word expert in the title, and
considering only the general user community, what experts in Oracle 10g existed
before Oracle 10g was released? With AWR, ADDM, ASM, and a myriad of
other acronyms which came out with Oracle 10g, there were no experts,
and within this context, where would a so-called expert, short of writing his
or her own book, go to find information outside of the official documentation?
With Oracle8i, there was a relative explosion of DBA
how-to/Bible/complete reference books, and not so much when 9i was
released. Oracle 10g has enough new features that the publishing
explosion seems to have taken place again. Expert Oracle Database 10g
Administration, in my opinion, is one of those books that stands out from
the crowd because of its overall excellence and comprehensive coverage, and is
worth having as a desktop reference for experts and non-experts alike.