[ Team LiB ] • Table of Contents • Index • Reviews • Reader Reviews • Errata • Academic Oracle Essentials: Oracle Database 10g, 3rd Edition By Rick Greenwald, Robert Stackowiak, Jonathan Stern Publisher: O'Reilly Pub Date: February 2004 ISBN: 0-596-00585-7 Pages: 368 This new edition distills a vast amount of knowledge into an easy-to-read volume covering the full range of Oracle's features and technologies. The book includes an overview of Oracle 10g, along with recent releases 9i and 8i. Oracle Essentials 3rd Edition: Oracle Database 10g provides everything you'll need to install and run the Oracle databases. If you're new to Oracle or upgrading to Oracle 10g, you'll find this comprehensive guide essential. [ Team LiB ] [ Team LiB ] • Table of Contents • Index • Reviews • Reader Reviews • Errata • Academic Oracle Essentials: Oracle Database 10g, 3rd Edition By Rick Greenwald, Robert Stackowiak, Jonathan Stern Publisher: O'Reilly Pub Date: February 2004 ISBN: 0-596-00585-7 Pages: 368 Copyright Dedication Preface Goals of This Book Audience for This Book About the Third Edition (Oracle Database 10g) Structure of This Book Conventions Used in This Book How to Contact Us Acknowledgments Chapter 1. Introducing Oracle Section 1.1. The Evolution of the Relational Database Section 1.2. The Oracle Family Section 1.3. Summary of Oracle Features Section 1.4. Database Application Development Features Section 1.5. Database Connection Features Section 1.6. Distributed Database Features Section 1.7. Data Movement Features Section 1.8. Performance Features Section 1.9. Database Management Features Section 1.10. Oracle Developer Suite Section 1.11. Oracle Lite Chapter 2. Oracle Architecture Section 2.1. Instances and Databases Section 2.2. The Components of a Database Section 2.3. The Components of an Instance Section 2.4. The Data Dictionary Chapter 3. Installing and Running Oracle Section 3.1. Installing Oracle Section 3.2. Creating a Database Section 3.3. Configuring Oracle Net Section 3.4. Starting Up the Database Section 3.5. Shutting Down the Database Section 3.6. Accessing a Database Section 3.7. Oracle at Work Chapter 4. Data Structures Section 4.1. Datatypes Section 4.2. Basic Data Structures Section 4.3. Additional Data Structures Section 4.4. Data Design Section 4.5. Constraints Section 4.6. Triggers Section 4.7. Query Optimization Section 4.8. Understanding the Execution Plan Section 4.9. SQL Tuning Advisor Section 4.10. Data Dictionary Tables Chapter 5. Managing Oracle Section 5.1. Management and Enterprise Manager Section 5.2. Oracle Database 10g Self-Tuning and Management Section 5.3. Implementing Security Section 5.4. Fragmentation and Reorganization Section 5.5. Backup and Recovery Section 5.6. Working with Oracle Support Chapter 6. Oracle Performance Section 6.1. Performance Tuning Basics Section 6.2. Oracle and Disk I/O Resources Section 6.3. Oracle and Parallelism Section 6.4. Oracle and Memory Resources Section 6.5. Oracle and CPU Resources Section 6.6. Database Resource Manager Section 6.7. Monitoring Section 6.8. Real Application Clusters and Performance Chapter 7. Multiuser Concurrency Section 7.1. Basics of Concurrent Access Section 7.2. Oracle and Concurrent User Access Section 7.3. Oracle's Isolation Levels Section 7.4. Oracle Concurrency Features Section 7.5. How Oracle Handles Locking Section 7.6. Concurrent Access and Performance Section 7.7. Workspaces Chapter 8. Oracle and Transaction Processing Section 8.1. OLTP Basics Section 8.2. Oracle's OLTP Heritage Section 8.3. Architectures for OLTP Section 8.4. Oracle Features for OLTP Section 8.5. High Availability Section 8.6. Oracle Advanced Queuing and Streams Section 8.7. Object Technologies and Distributed Components Chapter 9. Oracle and Data Warehousing Section 9.1. Business Intelligence Basics Section 9.2. Data Warehouse Design Section 9.3. Query Optimization Section 9.4. Analytics, OLAP, and Data Mining in the Database Section 9.5. Managing the Data Warehouse Section 9.6. Other Data Warehouse Software Section 9.7. The Metadata Challenge Section 9.8. Best Practices Chapter 10. Oracle and High Availability Section 10.1. What Is High Availability? Section 10.2. System Crashes Section 10.3. Protecting Against System Crashes Section 10.4. Recovering from Disasters Section 10.5. Complete Site Failure Section 10.6. Data Redundancy Solutions Chapter 11. Oracle and Hardware Architecture Section 11.1. System Basics Section 11.2. Uniprocessor Systems Section 11.3. Symmetric Multiprocessing Systems Section 11.4. Clusters Section 11.5. Massively Parallel Processing Systems Section 11.6. Non-Uniform Memory Access Systems Section 11.7. Grid Computing Section 11.8. Disk Technology Section 11.9. Which Platform Deployment Solution? Chapter 12. Distributed Databases and Distributed Data Section 12.1. Accessing Multiple Databases as a Single Entity Section 12.2. Two-Phase Commits Section 12.3. Moving Data Between Distributed Systems Section 12.4. Advanced Queuing Section 12.5. Oracle Streams Chapter 13. Extending Oracle Datatypes Section 13.1. Object-Oriented Development Section 13.2. Extensibility Features and Options Section 13.3. Using the Extensibility Framework in Oracle Chapter 14. Network Deployment Models Section 14.1. The Impact of the Internet Section 14.2. The Oracle Database and the Internet Section 14.3. Oracle Application Server Section 14.4. Grid Computing Appendix A. What's New in This Book for Oracle Database10g Section A.1. Chapter 1, Introducing Oracle Section A.2. Chapter 2, Oracle Architecture Section A.3. Chapter 3, Installing and Running Oracle Section A.4. Chapter 4, Data Structures Section A.5. Chapter 5, Managing Oracle Section A.6. Chapter 6, Oracle Performance Section A.7. Chapter 7, Multiuser Concurrency Section A.8. Chapter 8, Oracle and Transaction Processing Section A.9. Chapter 9, Oracle and Data Warehousing Section A.10. Chapter 10, Oracle and High Availability Section A.11. Chapter 11, Oracle and Hardware Architecture Section A.12. Chapter 12, Distributed Databases and Distributed Data Section A.13. Chapter 13, Extending Oracle Datatypes Section A.14. Chapter 14, Network Deployment Models Appendix B. Additional Resources Section B.1. Web Sites Section B.2. Books and Oracle Documentation Colophon Index [ Team LiB ] [ Team LiB ] Copyright Copyright © 2004, 2001, 1999 O'Reilly Media, Inc. Printed in the United States of America. Published by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O'Reilly & Associates books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or corporate@oreilly.com. Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly Media, Inc. Oracle Essentials: Oracle Database 10g, the image of cicadas, and related trade dress are trademarks of O'Reilly Media, Inc. Oracle® and all Oracle-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation, Inc. in the United States and other countries. O'Reilly Media, Inc. is independent of Oracle Corporation. Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. O'Reilly Media, Inc. is independent of Sun Microsystems. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly & Associates was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. [ Team LiB ] [ Team LiB ] Dedication To the four most important people in my life: my wife, LuAnn, and my daughters, Elinor Vera YuXiu Greenwald, Josephine Shang Qiong Greenwald, and Robin Yang Ru Greenwald-you give me everything. —Rick Greenwald For my wife, Jodie, and sons, Nick and Mike- thanks for providing the time, support, and understanding needed for projects such as this one. My love to each of you. —Robert Stackowiak To my wife, Heather, and my children, Zachary and Sarah -my life and joy grows as we all do together. —Jonathan Stern [ Team LiB ] [ Team LiB ] Preface The Oracle database is a product that is both rich and deep. To address the complexities and variations in this product, Oracle books and documentation tend to be long and somewhat intimidating. Most of them either cover a broad scope of functionality in a fairly cursory way or delve deeply into complex and rather narrow topics, sometimes missing the forest for the trees by concentrating on the multitude of details of a particular subject. This book aims to be different. We want to give you an in-depth explanation of the forest itself—the concepts and features of the Oracle database. With this information, you should be better prepared to tackle any particular tree in that forest, with any number of other books. As Oracle professionals (all of whom have worked for Oracle Corporation), we've found that a lot of Oracle users need brief explanations of similar topics. For some time, we'd wanted a book that describes all the underlying principles that shape the Oracle database, written concisely for an intelligent audience. We found that the explanations were scattered among many manuals and books and were often too complex or too simplistic. After a good deal of complaining, we finally decided to write the book ourselves. As this is now the Third Edition of Oracle Essentials, we've concluded that a number of you were looking for the same thing! [ Team LiB ] [ Team LiB ] Goals of This Book Our main goal is to give you a foundation for using the Oracle database effectively and efficiently. Therefore, we wrote with these principles in mind: Focus We've tried to concentrate on the most important Oracle issues. Every topic provides a comprehensive but concise discussion of how Oracle handles an issue, and the repercussions of that action. Brevity One of the first decisions we made was to concentrate on principles rather than syntax. There simply isn't room for myriad syntax diagrams and examples in this book. Uniqueness We've tried to make this an ideal first Oracle book for a wide spectrum of Oracle users—but not the last! You will very likely have to refer to Oracle documentation or other, more specific books for more details about using Oracle. However, we hope this book will act as an accelerator for you. Using the foundation you get from this book, you can take detailed information from other sources and put it to the best use. A companion book, Oracle in a Nutshell, by Rick Greenwald and David C. Kreines (O'Reilly), contains extensive syntax for a wide range of Oracle products. This book is the result of over 40 years of experience with Oracle and other databases. We've tried to apply that experience as best we can here. [ Team LiB ] [ Team LiB ] Audience for This Book We wrote this book for people at all levels of Oracle expertise: database administrators (DBAs) who spend most of their workday interacting with Oracle; application developers who build their systems on the data available in an Oracle database; and system administrators who are concerned with how Oracle will affect their computing environments. Of course, some users interact more peripherally with the actual Oracle product, from IT managers to business users. On the one hand, anticipating the appropriate technical level of all our potential readers presented difficulties; on the other hand, we've tried to build a solid foundation from the ground up and believe that some introductory material benefits everyone. We've also tried to ensure that every reader receives all the fundamental information necessary to truly understand the topics presented. If you're an experienced Oracle user, you may be tempted to skip over material in this book with which you are already familiar. But experience has shown that some of the most basic Oracle principles can be overlooked, even by experts. We've also seen how the same small "gotchas" trip up even the most experienced Oracle practitioners and cause immense damage if they go unnoticed. After all, an ounce of prevention provided by understanding is worth a pound of cure (especially when you're trying to get a system up and running). So we hope that even experienced Oracle users will find valuable information in every chapter of this book—information that will save them hours in their busy professional lives. Our guiding principle has been to present this information compactly without making it overly tutorial. We figure that the most important ratio in a book like this is the amount of useful information you get balanced against the time it takes you to get it. We sincerely hope this volume provides a terrific bang for the buck. [ Team LiB ] [...]... of the Oracle8 database Thei was added to denote added functionality supporting Internet deployment in the new version Oracle9 i followed, with Application Server available in 2000 and Database Server in 2001 Oracle Database 10g was introduced in 2003; the g denotes Oracle' s focus on emerging grid deployment models The terms Oracle, Oracle8 , Oracle8 i, Oracle9 i and Oracle Database 10g (or Oracle1 0g) might... in the database 2000 Oracle9 i Application Server generally available: Oracle tools integrated in middle tier 2001 Oracle9 i Database Server generally available: Real Application Clusters; OLAP and data mining API in the database 2003 Oracle Database 10g enables grid computing and simplifies and automates key management tasks [ Team LiB ] [ Team LiB ] 1.2 The Oracle Family Oracle Database 10g Database. .. Services provide transaction services utilizing Oracle' s two-phase commit with non -Oracle databases and procedural services that call third-generation language routines on non -Oracle systems Users interact with the Oracle database as if all objects are stored in the Oracle database, and Heterogeneous Services handle the transparent interaction with the foreign database on the user's behalf 1.6.3 Availability... Oracle Lite and other Oracle versions is a key part of most implementations Table 1-2 summarizes the situations in which you would typically use each database product We've used the Oracle product names to refer to the different members of the Oracle database family Table 1-2 Oracle family of database products Database name When appropriate Oracle Standard Edition Version of Oracle server for a small... Edition (Oracle Database 10g) We were pleased that the first two editions of this book, covering the Oracle database up to the Oracle9 i version, were well received and that O'Reilly & Associates agreed to publish this third edition In this update to the book, we have added information about the latest release of Oracle, Oracle Database 10g For the most part our task was fairly clear-cut, because the 10g. .. release, Oracle has added more power and features to its already solid base while improving the manageability Several recent Oracle database releases are the focus of this book: Oracle8 i Oracle8 i, released in 1999, added a new twist to the Oracle database a combination of enhancements that made the Oracle8 i database the focal point of the world of Internet (thei in 8i) computing Oracle9 i Oracle9 i,... describe the Oracle Developer Suite, a set of optional tools used in Oracle Database Server and Oracle Application Server development 1.4.1 Database Programming All flavors of the Oracle database include different languages and interfaces that allow programmers to access and manipulate the data in the database Database programming features usually interest two groups: developers building Oracle- based applications... categories: database networking and Oracle Application Server 1.5.1 Database Networking Database users connect to the database by establishing a network connection You can also link database servers via network connections Oracle provides a number of features to establish connections between users and the database and/or between database servers, as described in the following sections 1.5.1.1 Oracle Net Oracle' s... with Oracle Database 10g Oracle introduced many innovative technical features to the database as computing and deployment models changed (from offering the first distributed database to the first Java Virtual Machine in the core database engine) Oracle also continues to support emerging standards such as XML and NET Table 1-1 presents a short list of Oracle' s major feature introductions Table 1-1 History... small number of users and a smaller database Oracle Enterprise Edition Version of Oracle for a large number of users or a large database with advanced features for extensibility, performance, and management Oracle Personal Edition Single-user version of Oracle typically used for development of applications for deployment on other Oracle versions Oracle Lite Lightweight database engine for mobile computing . Academic Oracle Essentials: Oracle Database 10g, 3rd Edition By Rick Greenwald, Robert Stackowiak, Jonathan Stern Publisher: O'Reilly Pub Date: February 2004 ISBN: 0-5 9 6-0 058 5-7 Pages:. Essentials 3rd Edition: Oracle Database 10g provides everything you'll need to install and run the Oracle databases. If you're new to Oracle or upgrading to Oracle 10g, you'll find. Academic Oracle Essentials: Oracle Database 10g, 3rd Edition By Rick Greenwald, Robert Stackowiak, Jonathan Stern Publisher: O'Reilly Pub Date: February 2004 ISBN: 0-5 9 6-0 058 5-7 Pages: