Oracle Essentials

One Minute Review

Positives
  • first-rate introduction to Oracle database for new users
  • fine summaries of the Oracle universe of products
  • covers general features of Oracle 11g
Negatives
  • experienced Oracle hands will find too little new here
  • very dense writing style
  • little in the way of practical examples

Buy it now

Ratings and Stats

ISBN:0596001797 Relevance:
4
Publisher:O'Reilly Readability:
3
Author(s):Rick Greenwald, Robert Stackowiak, Jonathan Stern Overall:
4
Bottom Line:

This book is excellent for its intended audience. There is a lot of data to be had. For readers coming to Oracle for the first time. it gives a broad overview that includes more than enough to suggest other avenues for fruitful research. Very little is completely left out, although plenty of subjects are treated at a very high level.

Read carefully, though. The extreme density of the writing has if anything increased from earlier editions. Blink and you'll miss an important point. This was never a book to be read lightly, and now has compressed even more within its relatively slight (364 content pages) frame.

It is perhaps unfair to ask a book intended for beginning Oracle-ists to be equally valuable to those of us who have been around the database for a while; but one is accustomed to miracles from O'Reilly. So I will say that this book was a bit of a disappointment to me. I had read an earlier edition, of course; I looked forward to catching up on recent developments in the Oracle database product and related applications. There was, I felt, too little of that to justify the "Oracle Database 11g" that appears as a subtitle on the cover. Perhaps a bit too much of the book is taken up with Oracle history, which while valuable as perspective is of less pragmatic interest.

This book does reach O'Reilly's extremely high standards, however, and that is indeed saying something.

Intent and Audience

The book's preface says it all: "We've tried to make this an ideal first Oracle book for a wide spectrum of Oracle users - but not the last!" They identify an important audience for the first edition of the book as DBAs who understood perfectly how to read Oracle documentation, but not how to practically apply what they read. Thus the idea of a book that would give a wide overview of how Oracle works.

The first-time Oracle user will find this book invaluable for a high-level introduction to Oracle's capabilities. The database administrator who feels he or she is not seeing the forest for the trees will find this a great way to get above the canopy for a look down. The developer who wants an introduction to how things work in the database against which he or she is programming will find some very useful material here.

Experienced Oracle hands, however, have probably read this book in an earlier incarnation; for them, this might not be the best way to catch up on Oracle 11g's new features.

Chapter Highlights

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".

Relevance of Material

In so far as the authors attempted a good first book to introduce Oracle to readers, they did a great job. Oracle is a not a piece of software so much as a universe of applications; they have focused on a significant slice of all that is Oracle and have presented that in a comprehensive, yet concise way.

The relevance of the text will in part depend upon the skills of the reader: this is a book that takes very slow, careful reading to extract all it has to say. In nearly every sentence, there is something worth thinking about and considering in the larger picture. It can be a little thick, and one cannot expect a quick read. Of course, this means there is a lot of content and much to get out of it.

For readers looking for an introduction that will contain practical examples, this text is very nearly useless. You will find few SQL statements here; there is no code to download from a web site. For this, look elsewhere (and there is no shortage of places to look). But for users who want to understand and put examples in context, this can be a considerable help.

Resources

The web site for the book: http://www.oreilly.com/catalog/9780596514549/

The web site for Oracle Database 11g: http://www.oracle.com/database/index.html

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)