Chapter 1. Introducing Oracle
This chapter presents a brief history of the development of the
relational database, including a history of the development of Oracle
databases, as a context for discussing the current Oracle database
family. A summary of features of the Oracle database, its uses in
application programming, its features as a storage medium for
information far beyond typical database types, its potential as a
distributed database and features designed to simplify and speed up
movement of data from one database to another, and even a brief
discussion of the Oracle Application Server are included. The chapter
contains sections on features to improve performance, ease of
management, backup and recovery, availability, and security.
Chapter 2. Oracle Architecture
This chapter focuses on the physical and logical structures that
make up the essence of an Oracle database. From the distinction between
an instance and a database through a detailed discussion of redo logs
to items in the data dictionary, each part of an Oracle database is
discussed.
Chapter 3. Installing and Running Oracle
This chapter is a practical one, discussing the installation
procedures for Oracle, both for new installations and upgrades;
creating a database; configuring the network presence of the database;
and so forth. It closes with a valuable step-by-step illustration of a
single transaction.
Chapter 4. Oracle Data Structures
This chapter brings us down to the most basic practical details of
an Oracle database: data types, the meaning of null, what a table,
view, and index is and how many types there are (I hadn't read about
reverse key indexes before - very enlightening). Partitioning of tables
is presented, along with sequences, synonyms, and clusters. Discussion
of the use of the Rules Manager to enforce business rules, constraints,
triggers, optimization techniques, and the use of execution plans build
on the lower-level components, combining them into useful logical
structures.
Chapter 5. Managing Oracle
While Oracle has gotten better and better at automatic database
management from version to version (this has been an important goal of
theirs for some time), DBAs still have to understand the management
concepts and challenges of an Oracle database. This chapter covers
these, from automated database advisors to backup strategies to tips on
working with Oracle Support.
Chapter 6. Oracle Security, Auditing, and Compliance
Security enables administrators to control access to data, building
on users, privileges, groups, and roles. Auditing can enable them to
understand what people have accessed what data, and what they have done
with it. Compliance works with these basics to design regimes to
address regulatory requirements imposed by government.
Chapter 7. Oracle Performance
Oracle performance tuning is perhaps the most arcane of the black
arts, but this chapter tries to set the issues forth, at least, if not
terribly many specific solutions. Oracle provides several tools that
can help DBAs deal with issues of performance, several of which are
briefly covered. Physical distribution of files in a database, CPU
usage, and memory requirements are all central to understanding
Oracle's performance, as is an understanding of how the Oracle database
uses these resources. I particularly enjoyed the footnote on page 169
that states: "Anyone who is tempted is welcome to perform detailed
testing for all the permutations of stripe chunk size and Oracle I/O.
If you happen to perform this extensive testing, please tell all the
rest of us what you find!"
Chapter 8. Oracle Multiuser Concurrency
From transactions to concurrency features, this chapter discusses
what happens when, as typically happens, more than one user needs
access to a database at once. A discussion of the issues, complete with
a step-by-step presentation of exactly how Oracle handles potential
write conflicts at different isolation levels, highlights the book's
coverage of Oracle locking. Oracle requires less locking than some
other databases, and in particular uses fewer table locks, because lock
information is stored along with the locked rows, meaning that locking
calculations do not require additional I/O. An exposition of Oracle
workspaces closes the chapter.
Chapter 9. Oracle and Transaction Processing
The difference between online transaction processing (OLTP) and
batch processing is an essential one for understanding the user
experience of an application built upon an Oracle database. Various
architectural choices for OLTP are covered, the use of stored
procedures to centralize logic and reduce network traffic, and Oracle's
Advanced Queuing and Streams AQ enable asynchronous (messaging)
communication, allowing decoupling of systems in some cases. Oracle
even includes a publish-subscribe functionality in its messaging
implementation.
Chapter 10. Oracle Data Warehousing and Business Intelligence
Another area of database usage is as part of a data warehouse, part
of a business intelligence solution. This chapter begins by defining
its terms for those of us less familiar with this type of processing,
and with a brief history of efforts to build business intelligence
services. Oracle's locking mechanism and built-in optimizations for
user queries in star- or hybrid-schema database designs, a common
design in data warehousing, provide for an excellent solution to
business intelligence problems. The chapter covers online analytical
processing (OLAP) and data mining, management of large data sets,
reporting tools, and a summary of business intelligence best practices.
Chapter 11. Oracle and High Availability
The authors observe that high availability does not come cheap.
Discussion of system failure options, including instance recovery,
component redundancy, Oracle's Automatic Storage Management (ASM), Real
Application Clusters (RAC), Transparent Application Failover (TAF),
backups, flashbacks, Oracle Data Guard, and database replication, take
up the bulk of the chapter.
Chapter 12. Oracle and Hardware Architecture
Computers are found in remarkable variety, and hardware choices can
determine scalability, reliability, and performance issues. Oracle has
built features into its database to address specific platforms as well
as sought to transcend some hardware issues using clustering and grid
computing (the "g" in "11g"). Each solution to
hardware issues comes with strengths and issues; advice about best
practices and approaches closes the chapter.
Chapter 13. Oracle Distributed Databases and Distributed Data
Data can be found anywhere and everywhere, and the need to access data, and frequently to access it now,
knows nothing of physical location. Oracle provides solutions that make
it possible to connect databases distributed throughout the enterprise,
even some non-Oracle databases, and to treat them as a single entity.
Topics include XA transaction management;advanced replication;
messaging, including Oracle Streams; and transportable tablespaces.
Chapter 14. Oracle Extended Datatypes
Object-oriented development has taken the world of application
development by storm, but has not made as much of an impact in the
RDBMS world. However, Oracle provides significant object-relational
features, not the least of which is the provision of a Java JVM within
the database. This makes possible much more than simply writing stored
procedures in a language other than PL/SQL: Enterprise JavaBeans (EJB)
can be deployed in either the database server or in the Oracle
Application Server (which now has EJB 3.0 support). Database product
extensions allow Oracle to effectively manage multimedia and text data.
The Spatial Option provides functions and procedures that allow data
containing location information to be stored and analyzed in an Oracle
database.
Chapter 15. Beyond the Oracle Database
This chapter covers Oracle products that work with but exist apart
from the Oracle database. In particular, there is considerable coverage
of the Oracle Application Server and the Oracle SOA Suite.
Appendices.
Appendices cover "What's New in This Book for Oracle Database 11g"
(though not in the detail that might be hoped for) and leads the reader
to "Additional Resources".