Synopses & Reviews
Parallel processing is becoming increasingly important to database computing. Databases often grow to enormous sizes and are accessed by huge numbers of users. This growth strains the ability of single-processor and single-computer systems to handle the load. More and more, organizations are turning to parallel processing technologies to give them the performance, scalability, and reliability they need. Anyone managing a large database, a database with a large number of concurrent users, or a database with high availability requirements--such as a heavily trafficked e-commerce site--needs to know how to get the most out of Oracle's parallel processing technologies.Oracle Parallel Processing is the first book to describe the full range of parallel processing capabilities in the Oracle environment, including those new to Oracle8i. It covers:
- What is parallel processing--features, benefits, and pitfalls. Who needs it and who doesn't? What features does Oracle provide, and what are their requirements and overhead implications? The book answers these questions and presents the various parallel architectures (SMP, or Symmetric Multiprocessing; MPP, or Massively Parallel Processing; clustered systems; and NUMA, or Non Uniform Memory Access).
- Oracle parallel execution--Oracle supports a variety of parallel execution features in the database. The book covers the use, administration, and tuning of these features: parallel query, parallel data loading, parallel DML (Data Manipulation Language), parallel object creation (through DDL, or Data Definition Language), and parallel replication propagation.
- Oracle Parallel Server--Oracle also provides the OPS option, which work to be spread over both multiple CPUs and multiple nodes. This book covers OPS architecture, requirements, administration, tuning, storage management, recovery, and application failover issues.
Oracle Parallel Processing also contains several case studies showing how to use Oracle's parallel features in a variety of real-world situations.
Synopsis
These days, databases often grow to enormous sizes and are accessed by large numbers of users. This growth strains the ability of a single processor or computer system to handle the load. More and more, organizations are turning to parallel processing technologies to give them greater performance.
Oracle Parallel Processing is the first book to explore the full range of Oracle parallel processing capabilities. It helps readers understand and use the technology's features and benefits, the various parallel architecture choices, parallel execution features, and the Oracle Parallel Server option.
About the Author
Tushar Mahapatra has been a software developer and consultant since 1987 and has worked on a variety of OLTP and DSS projects using the Oracle database. Presently, as a database architect for a Fortune 500 company, he is responsible for the design, implementation, and deployment of applications in an Oracle Parallel Server environment. He also runs a consulting company that provides database design, application development, and database administration services for Oracle databases. Tushar has a bachelor of science degree in electrical engineering, a master of technology degree in industrial management, and a master of science degree in computer science and management. He lives in New Jersey with his wife Sasmita and their two children. He can be reached by email at
[email protected].
Sanjay Mishra is a certified Oracle database administrator with more than ten years of IT experience. He has been involved in the design, architecture, and implementation of many mission-critical and decision support databases. He has worked extensively in the areas of database architecture, database management, backup / recovery, performance tuning, Oracle Parallel Server, and parallel execution. He has a Bachelor of Science degree in Electrical Engineering, and a Master of Engineering degree in Systems Science and Automation. He is the coauthor of Oracle Parallel Processing and Oracle SQL Loader: The Definitive Guide (both published by O'Reilly & Associates). Presently, he works as a database architect at Dallas Based i2 Technologies, and can be reached at [email protected].
Table of Contents
Dedication; Preface; Why We Wrote This Book; Audience for This Book; Which Platform and Version?; Structure of This Book; Conventions Used in This Book; Comments and Questions; Acknowledgments; Overview; Chapter 1: Introduction; 1.1 About Parallel Processing; 1.2 Parallel Processing for Databases; 1.3 Parallel Processing in Oracle; 1.4 Overhead for Oracle Parallel Processing; 1.5 Requirements for Oracle's Parallel Features; Chapter 2: Architectures for Parallel Processing; 2.1 Hardware Architectures; 2.2 High-Speed Interconnect; 2.3 Software Architectures of Parallel Database Systems; 2.4 Oracle's Parallel Processing Architecture; Oracle Parallel Execution; Chapter 3: Parallel Execution Concepts; 3.1 What Is Parallel SQL?; 3.2 How Parallel Execution Works; Chapter 4: Using Parallel Execution; 4.1 Parallel Query; 4.2 Parallel DML; 4.3 Parallel DDL; 4.4 Parallel Data Loading; 4.5 Parallel Recovery; 4.6 Parallel Replication Propagation; Chapter 5: Monitoring and Tuning Parallel Execution; 5.1 Tuning Overview; 5.2 Dynamic Performance Views; 5.3 Using EXPLAIN PLAN to View Parallel Execution; 5.4 Tuning Tips for Parallel Execution; 5.5 Automatic Tuning of Parallel Execution in Oracle8i; Oracle Parallel Server; Chapter 6: Oracle Parallel Server Architecture; 6.1 OPS and Oracle Instances; 6.2 Synchronization Between Instances; 6.3 OPS Impact on Database Files; 6.4 Integrated Distributed Lock Manager; 6.5 Group Membership Service; 6.6 Rollback Segments in OPS; Chapter 7: Administering an OPS Database; 7.1 Creating an OPS Database; 7.2 Starting and Stopping an OPS Database; 7.3 Managing Instance Groups; 7.4 Backing Up an OPS Database; 7.5 Recovering an OPS Database; Chapter 8: Locking Mechanisms in OPS; 8.1 Cache Coherency; 8.2 Lock Types in OPS; 8.3 Lock Modes; 8.4 Parallel Cache Management; 8.5 PCM Lock Types; 8.6 PCM Lock Allocation Parameters and Verification; 8.7 PCM Lock Allocation Guidelines; 8.8 Non-PCM Locks; Chapter 9: Storage Management in OPS; 9.1 Using Free Lists and Free List Groups; 9.2 The PCTFREE Parameter: Reserving Free Space; 9.3 Using Reverse Key Indexes; Chapter 10: Monitoring and Tuning OPS; 10.1 OPS Performance Views; 10.2 Dynamic Performance Views; 10.3 Monitoring PCM Locking; 10.4 Monitoring Overall Statistics; 10.5 Monitoring and Tuning IDLM; 10.6 Oracle Performance Manager; Chapter 11: Partitioning for OPS; 11.1 When Is Partitioning Needed?; 11.2 Partitioning Techniques; 11.3 Changing Your Partitioning Scheme; Chapter 12: Application Failover; 12.1 Maintaining a Failover Database; 12.2 Planning for Failover with OPS; 12.3 Failover Complexity; 12.4 Failover Methods; Chapter 13: Parallel Execution in OPS; 13.1 How Parallel Execution Works with OPS; 13.2 Disk Affinity; 13.3 Instance Groups for Parallel Execution; Appendix: Case Studies; Application Suitability; Case Study 1: An OLTP Application on an SMP Platform; Case Study 2: An OLTP Application on a Cluster; Case Study 3: A DSS Application on an MPP Platform; Colophon;