{"product_id":"oracle-database-performance-and-scalability-isbn-9781118056998","title":"Oracle Database Performance and Scalability","description":"The innovative performance and scalability features with each newer edition of the Oracle database system can present challenges for users. This book teaches software developers and students how to effectively deal with Oracle performance and scalability issues throughout the entire life cycle of developing Oracle-based applications. Using real-world case studies to deliver key theories and concepts, the book introduces highly dependable and ready-to-apply performance and scalability optimization techniques, augmented with Top 10 Oracle Performance and Scalability Features as well as a supplementary support website. \u003cp\u003ePreface xxv\u003c\/p\u003e \u003cp\u003eWhy This Book xxv\u003c\/p\u003e \u003cp\u003eWho This Book is for xxvi\u003c\/p\u003e \u003cp\u003eHow This Book is Organized xxvii\u003c\/p\u003e \u003cp\u003eSoftware and Hardware xxviii\u003c\/p\u003e \u003cp\u003eHow to Use This Book xxix\u003c\/p\u003e \u003cp\u003eHow to Reach the Author xxxi\u003c\/p\u003e \u003cp\u003eAcknowledgments xxxiii\u003c\/p\u003e \u003cp\u003e\u003cb\u003eIntroduction 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eFeatures of Oracle 2\u003c\/p\u003e \u003cp\u003eObjectives 4\u003c\/p\u003e \u003cp\u003eConventions 5\u003c\/p\u003e \u003cp\u003ePerformance versus Scalability 6\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 1 Getting Started with Oracle 7\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Basic Concepts 9\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Standard versus Flavored SQLS 10\u003c\/p\u003e \u003cp\u003e1.2 Relational versus Object-Oriented Databases 11\u003c\/p\u003e \u003cp\u003e1.3 An Instance versus a Database 11\u003c\/p\u003e \u003cp\u003e1.4 Summary 12\u003c\/p\u003e \u003cp\u003eRecommended Reading 12\u003c\/p\u003e \u003cp\u003eExercises 12\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Installing Oracle Software 14\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Installing Oracle 11g Server Software 15\u003c\/p\u003e \u003cp\u003e2.2 Configuring a Listener 18\u003c\/p\u003e \u003cp\u003e2.3 Creating an Oracle Database 18\u003c\/p\u003e \u003cp\u003e2.4 Installing Oracle 11g Client Software 28\u003c\/p\u003e \u003cp\u003e2.5 Oracle Grid Control versus DB Control 31\u003c\/p\u003e \u003cp\u003e2.6 Summary 33\u003c\/p\u003e \u003cp\u003eRecommended Reading 33\u003c\/p\u003e \u003cp\u003eExercises 33\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Options for Accessing an Oracle Server 34\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 A Command Line Interface (CLI) versus a GUI-Based Console 35\u003c\/p\u003e \u003cp\u003e3.2 The Oracle Enterprise Manager Java Console (OEMJC) 37\u003c\/p\u003e \u003cp\u003e3.3 Using the SQL*Plus Tool 40\u003c\/p\u003e \u003cp\u003e3.4 Oracle Enterprise Manager DBConsole 42\u003c\/p\u003e \u003cp\u003e3.5 Other Tools for Developers 43\u003c\/p\u003e \u003cp\u003e3.6 Case Study: Creating ER Diagrams with Visio via ODBC 44\u003c\/p\u003e \u003cp\u003e3.7 Case Study: Accessing Oracle in Java via JDBC 47\u003c\/p\u003e \u003cp\u003e3.8 Summary 49\u003c\/p\u003e \u003cp\u003eRecommended Reading 50\u003c\/p\u003e \u003cp\u003eExercises 50\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 A Quick Tour of an Oracle Server 52\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 New Oracle Schemas Beyond “Scott” 53\u003c\/p\u003e \u003cp\u003e4.2 Oracle Users versus Schemas 54\u003c\/p\u003e \u003cp\u003e4.3 Tablespaces, Segments, Extents, and Data Blocks 56\u003c\/p\u003e \u003cp\u003e4.4 Tables, Indexes and Index Types for Structured Data 57\u003c\/p\u003e \u003cp\u003e4.5 Domain and LOB Index Types for Unstructured Data 65\u003c\/p\u003e \u003cp\u003e4.6 Views, Materialized Views, and Synonyms 68\u003c\/p\u003e \u003cp\u003e4.7 Stored Procedures, Functions, and Triggers 68\u003c\/p\u003e \u003cp\u003e4.8 Referential Integrity with Foreign Keys 71\u003c\/p\u003e \u003cp\u003e4.9 Summary 73\u003c\/p\u003e \u003cp\u003eRecommended Reading 73\u003c\/p\u003e \u003cp\u003eExercises 74\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 2 Oracle Architecture from Performance and Scalability Perspectives 75\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Understanding Oracle Architecture 79\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 The Version History of Oracle 80\u003c\/p\u003e \u003cp\u003e5.2 Oracle Processes 82\u003c\/p\u003e \u003cp\u003e5.3 Oracle Memory Areas 87\u003c\/p\u003e \u003cp\u003e5.4 Dedicated versus Shared Oracle Server Architecture 89\u003c\/p\u003e \u003cp\u003e5.5 Performance Sensitive Initialization Parameters 91\u003c\/p\u003e \u003cp\u003e5.6 Oracle Static Data Dictionary Views 94\u003c\/p\u003e \u003cp\u003e5.7 Oracle Dynamic Performance (V$) Views 95\u003c\/p\u003e \u003cp\u003e5.8 Summary 98\u003c\/p\u003e \u003cp\u003eRecommended Reading 98\u003c\/p\u003e \u003cp\u003eExercises 99\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Oracle 10g Memory Management 101\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 SGA Sub-Areas 102\u003c\/p\u003e \u003cp\u003e6.2 SGA Sizing: Automatic Shared Memory Management (ASMM) 104\u003c\/p\u003e \u003cp\u003e6.3 PGA Sizing: PGA_AGGREGATE_TARGET 106\u003c\/p\u003e \u003cp\u003e6.4 Summary 108\u003c\/p\u003e \u003cp\u003eRecommended Reading 109\u003c\/p\u003e \u003cp\u003eExercises 110\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Oracle 11g Memory Management 111\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Automatic Memory Management (AMM) 112\u003c\/p\u003e \u003cp\u003e7.2 Memory Sizing Options Configurable at Database Creation Time 112\u003c\/p\u003e \u003cp\u003e7.3 Checking Memory Management and Usage Distribution at Run Time 113\u003c\/p\u003e \u003cp\u003e7.4 Summary 115\u003c\/p\u003e \u003cp\u003eRecommended Reading 115\u003c\/p\u003e \u003cp\u003eExercises 115\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Oracle Storage Structure 116\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Overview 117\u003c\/p\u003e \u003cp\u003e8.2 Managing Tablespaces 119\u003c\/p\u003e \u003cp\u003e8.3 Managing Data Files 122\u003c\/p\u003e \u003cp\u003e8.4 Managing Redo Logs 124\u003c\/p\u003e \u003cp\u003e8.5 Summary 125\u003c\/p\u003e \u003cp\u003eRecommended Reading 125\u003c\/p\u003e \u003cp\u003eExercises 126\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Oracle Wait Interface (OWI) 127\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Ratio-based versus OWI-based Oracle Performance Tuning Methodologies 128\u003c\/p\u003e \u003cp\u003e9.2 Wait Event—The Core Concept of OWI 130\u003c\/p\u003e \u003cp\u003e9.3 Classification of Wait Events from OWI 131\u003c\/p\u003e \u003cp\u003e9.4 The Other Part (CPU Time) of the Equation Elapsed Time = CPU Time + Wait Time 134\u003c\/p\u003e \u003cp\u003e9.5 AWR as a Compass to Tuning Oracle Performance and Scalability 136\u003c\/p\u003e \u003cp\u003e9.6 Summary 137\u003c\/p\u003e \u003cp\u003eRecommended Reading 137\u003c\/p\u003e \u003cp\u003eExercises 138\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Oracle Data Consistency and Concurrency 139\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Select . . . for Update Statement 140\u003c\/p\u003e \u003cp\u003e10.2 ACID Properties of Transactions 141\u003c\/p\u003e \u003cp\u003e10.3 Read Phenomena and Data Inconsistencies 143\u003c\/p\u003e \u003cp\u003e10.4 Oracle Isolation Levels 145\u003c\/p\u003e \u003cp\u003e10.5 Multi-Version Concurrency Control (MVCC) and Read Consistency 145\u003c\/p\u003e \u003cp\u003e10.6 Oracle Locks 146\u003c\/p\u003e \u003cp\u003e10.7 Lock Escalations versus Conversions 149\u003c\/p\u003e \u003cp\u003e10.8 Oracle Latches 149\u003c\/p\u003e \u003cp\u003e10.9 Oracle Enqueues 150\u003c\/p\u003e \u003cp\u003e10.10 Deadlocks 150\u003c\/p\u003e \u003cp\u003e10.11 Taking Advantage of Oracle’s Scalable Concurrency Model 151\u003c\/p\u003e \u003cp\u003e10.12 Case Study: A JDBC Example 152\u003c\/p\u003e \u003cp\u003e10.13 Summary 158\u003c\/p\u003e \u003cp\u003eRecommended Reading 159\u003c\/p\u003e \u003cp\u003eExercises 159\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Anatomy of an Oracle Automatic Workload Repository (AWR) Report 161\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 Importance of Performance Statistics 162\u003c\/p\u003e \u003cp\u003e11.2 AWR Report Header 165\u003c\/p\u003e \u003cp\u003e11.3 Report Summary 166\u003c\/p\u003e \u003cp\u003e11.4 Main Report 171\u003c\/p\u003e \u003cp\u003e11.5 Wait Events Statistics 172\u003c\/p\u003e \u003cp\u003e11.6 SQL Statistics 178\u003c\/p\u003e \u003cp\u003e11.7 Instance Activity Statistics 185\u003c\/p\u003e \u003cp\u003e11.8 IO Stats 197\u003c\/p\u003e \u003cp\u003e11.9 Buffer Pool Statistics 199\u003c\/p\u003e \u003cp\u003e11.10 Advisory Statistics 199\u003c\/p\u003e \u003cp\u003e11.11 Wait Statistics 206\u003c\/p\u003e \u003cp\u003e11.12 Undo Statistics 207\u003c\/p\u003e \u003cp\u003e11.13 Latch Statistics 208\u003c\/p\u003e \u003cp\u003e11.14 Segment Statistics 215\u003c\/p\u003e \u003cp\u003e11.15 Dictionary Cache Stats 218\u003c\/p\u003e \u003cp\u003e11.16 Library Cache Activity 219\u003c\/p\u003e \u003cp\u003e11.17 Memory Statistics 219\u003c\/p\u003e \u003cp\u003e11.18 Streams Statistics 222\u003c\/p\u003e \u003cp\u003e11.19 Resource Limit Stats 224\u003c\/p\u003e \u003cp\u003e11.20 init.ora Parameters 224\u003c\/p\u003e \u003cp\u003e11.21 Summary 225\u003c\/p\u003e \u003cp\u003eRecommended Reading 225\u003c\/p\u003e \u003cp\u003eExercises 226\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Oracle Advanced Features and Options 227\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 Oracle 8i New Features 227\u003c\/p\u003e \u003cp\u003e12.2 Oracle 9i New Features 233\u003c\/p\u003e \u003cp\u003e12.3 Oracle 10g New Features 241\u003c\/p\u003e \u003cp\u003e12.4 Oracle 11g New Features 248\u003c\/p\u003e \u003cp\u003e12.5 Summary 255\u003c\/p\u003e \u003cp\u003eRecommended Reading 255\u003c\/p\u003e \u003cp\u003eExercises 255\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 Top 10 Oracle Performance and Scalability Features 257\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13.1 Real Application Clustering (RAC) 258\u003c\/p\u003e \u003cp\u003e13.2 Dedicated versus Shared Server Models 260\u003c\/p\u003e \u003cp\u003e13.3 Proven Transaction and Concurrency Models 260\u003c\/p\u003e \u003cp\u003e13.4 A Highly Efficient SQL Optimization Engine 261\u003c\/p\u003e \u003cp\u003e13.5 Efficient Parallel Processing with Modern Multi-Core CPUs 261\u003c\/p\u003e \u003cp\u003e13.6 Partitioning 262\u003c\/p\u003e \u003cp\u003e13.7 An All-Encompassing, Powerful Performance, and Scalability Troubleshooting Tool—AWR 262\u003c\/p\u003e \u003cp\u003e13.8 The Most Comprehensive Set of Internal Performance Metrics 263\u003c\/p\u003e \u003cp\u003e13.9 Database Resident Connection Pool 263\u003c\/p\u003e \u003cp\u003e13.10 In-Memory Database Cache (IMDB) 263\u003c\/p\u003e \u003cp\u003e13.11 Summary 263\u003c\/p\u003e \u003cp\u003eRecommended Reading 264\u003c\/p\u003e \u003cp\u003eExercises 264\u003c\/p\u003e \u003cp\u003e\u003cb\u003e14 Oracle-Based Application Performance and Scalability by Design 266\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e14.1 Rapid Development Methodologies 268\u003c\/p\u003e \u003cp\u003e14.2 Planning 269\u003c\/p\u003e \u003cp\u003e14.3 Requirements Gathering 272\u003c\/p\u003e \u003cp\u003e14.4 Conceptual Design via Data Modeling 275\u003c\/p\u003e \u003cp\u003e14.5 Logical Design via Normalization 280\u003c\/p\u003e \u003cp\u003e14.6 Physical Design 295\u003c\/p\u003e \u003cp\u003e14.7 Implementation 315\u003c\/p\u003e \u003cp\u003e14.8 Release to Market (RTM) 322\u003c\/p\u003e \u003cp\u003e14.9 Continuous Improvements 322\u003c\/p\u003e \u003cp\u003e14.10 Summary 323\u003c\/p\u003e \u003cp\u003eRecommended Reading 324\u003c\/p\u003e \u003cp\u003eExercises 325\u003c\/p\u003e \u003cp\u003e\u003cb\u003e15 Project: Soba—A Secure Online Banking Application on Oracle 326\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e15.1 Getting SOBA Up and Running 328\u003c\/p\u003e \u003cp\u003e15.2 Overview of Spring Framework 333\u003c\/p\u003e \u003cp\u003e15.3 MVC Architecture 337\u003c\/p\u003e \u003cp\u003e15.4 Spring MVC Framework Applied to SOBA 342\u003c\/p\u003e \u003cp\u003e15.6 RESTful Web Services Applied to SOBA 376\u003c\/p\u003e \u003cp\u003e15.7 Spring Security Applied to SOBA 386\u003c\/p\u003e \u003cp\u003e15.8 Spring ACL Applied to SOBA 394\u003c\/p\u003e \u003cp\u003e15.9 Summary 413\u003c\/p\u003e \u003cp\u003eRecommended Reading 414\u003c\/p\u003e \u003cp\u003eExercises 414\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 3 Optimizing Oracle Performance and Scalability 415\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e16 Logistics of the Oracle Cost-Based Optimizer (CBO) 417\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e16.1 Life of a SQL Statement in Oracle 418\u003c\/p\u003e \u003cp\u003e16.2 Oracle SQL Optimizer: Rule-Based versus Cost-Based 420\u003c\/p\u003e \u003cp\u003e16.3 CBO Statistics 421\u003c\/p\u003e \u003cp\u003e16.4 Pivot Role of Gathering Database Statistics to CBO 422\u003c\/p\u003e \u003cp\u003e16.5 Methods of Gathering CBO Statistics 424\u003c\/p\u003e \u003cp\u003e16.6 Locking and Unlocking CBO Statistics 425\u003c\/p\u003e \u003cp\u003e16.7 Explain Plan—A Handle to CBO 425\u003c\/p\u003e \u003cp\u003e16.8 Data Access Methods—CBO’s Footprints 426\u003c\/p\u003e \u003cp\u003e16.9 Looking Up CBO’s Plan Hidden in V$SQL*PLAN 427\u003c\/p\u003e \u003cp\u003e16.10 When CBO may Generate Suboptimum Execution Plans 428\u003c\/p\u003e \u003cp\u003e16.11 Summary 429\u003c\/p\u003e \u003cp\u003eRecommended Reading 429\u003c\/p\u003e \u003cp\u003eExercises 430\u003c\/p\u003e \u003cp\u003e\u003cb\u003e17 Oracle SQL Tuning 431\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e17.1 Tuning Joins 432\u003c\/p\u003e \u003cp\u003e17.2 Tuning Subqueries 437\u003c\/p\u003e \u003cp\u003e17.3 Case Study: Performance of SUBQUERY versus JOIN 439\u003c\/p\u003e \u003cp\u003e17.4 Case Study: Performance of IN versus EXISTS 443\u003c\/p\u003e \u003cp\u003e17.5 Case Study: A SQL Tuning Yielded a 12x Performance Gain 444\u003c\/p\u003e \u003cp\u003e17.6 Summary 447\u003c\/p\u003e \u003cp\u003eRecommended Reading 447\u003c\/p\u003e \u003cp\u003eExercises 448\u003c\/p\u003e \u003cp\u003e\u003cb\u003e18 Oracle Indexing 449\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e18.1 Rules of Thumb on Indexing 450\u003c\/p\u003e \u003cp\u003e18.2 Creating and Using Ubiquitous b-Tree Indexes 451\u003c\/p\u003e \u003cp\u003e18.3 Advanced Indexing Scheme I: Covering Indexes versus Index-Organized Tables 452\u003c\/p\u003e \u003cp\u003e18.4 Advanced Indexing Scheme II: Function-Based Indexes (FBIs) 453\u003c\/p\u003e \u003cp\u003e18.5 Unusual Indexing Scheme I: BITMAP Indexes 454\u003c\/p\u003e \u003cp\u003e18.6 Unusual Indexing Scheme II: Reverse Key Indexes 455\u003c\/p\u003e \u003cp\u003e18.7 Unusual Indexing Scheme III: Compressed Composite Indexes 455\u003c\/p\u003e \u003cp\u003e18.8 How to Create Oracle Indexes 456\u003c\/p\u003e \u003cp\u003e18.9 Summary 457\u003c\/p\u003e \u003cp\u003eRecommended Reading 458\u003c\/p\u003e \u003cp\u003eExercises 458\u003c\/p\u003e \u003cp\u003e\u003cb\u003e19 Auto_Tune Features 459\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e19.1 Oracle Automatic Database Diagnostic Monitor (ADDM) 460\u003c\/p\u003e \u003cp\u003e19.2 Automatic Undo Management 462\u003c\/p\u003e \u003cp\u003e19.3 Data Recovery Advisor 462\u003c\/p\u003e \u003cp\u003e19.4 Memory Advisors 462\u003c\/p\u003e \u003cp\u003e19.5 MTTR Advisor 466\u003c\/p\u003e \u003cp\u003e19.6 Segment Advisor 466\u003c\/p\u003e \u003cp\u003e19.7 SQL Advisors 467\u003c\/p\u003e \u003cp\u003e19.8 SQL Performance Analyzer 469\u003c\/p\u003e \u003cp\u003e19.9 Summary 470\u003c\/p\u003e \u003cp\u003eRecommended Reading 471\u003c\/p\u003e \u003cp\u003eExercises 471\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart 4 Case Studies: Oracle Meeting Real World Performance and Scalability Challenges 473\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e20 Case Study: Achieving High Throughput with Array Processing 477\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e20.1 Context 478\u003c\/p\u003e \u003cp\u003e20.2 Performance Model 479\u003c\/p\u003e \u003cp\u003e20.3 Tests 480\u003c\/p\u003e \u003cp\u003e20.4 Solution 480\u003c\/p\u003e \u003cp\u003e20.5 Effects of Array Processing 482\u003c\/p\u003e \u003cp\u003e20.6 Summary 484\u003c\/p\u003e \u003cp\u003eRecommended Reading 484\u003c\/p\u003e \u003cp\u003eExercises 484\u003c\/p\u003e \u003cp\u003e\u003cb\u003e21 Case Study: Performance Comparison of Heap-Organized versus Index-Organized Tables 485\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e21.1 Context 486\u003c\/p\u003e \u003cp\u003e21.2 Conversion from Heap-Organized to Index-Organized 487\u003c\/p\u003e \u003cp\u003e21.3 Creating Indexes 487\u003c\/p\u003e \u003cp\u003e21.4 Creating Constraints 488\u003c\/p\u003e \u003cp\u003e21.5 EXPLAIN PLANs 488\u003c\/p\u003e \u003cp\u003e21.6 Oracle SQL Traces 489\u003c\/p\u003e \u003cp\u003e21.7 Summary 490\u003c\/p\u003e \u003cp\u003eRecommended Reading 491\u003c\/p\u003e \u003cp\u003eExercises 491\u003c\/p\u003e \u003cp\u003e\u003cb\u003e22 Case Study: SQL Tuning: “IN” versus “OR” versus Global Temporary Table 492\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e22.1 Context 493\u003c\/p\u003e \u003cp\u003e22.2 Test Program 494\u003c\/p\u003e \u003cp\u003e22.3 Observation 1: IN_CreateStatement is the Best Performer 495\u003c\/p\u003e \u003cp\u003e22.4 Observation 2: Batch Insert Saves Time 497\u003c\/p\u003e \u003cp\u003e22.5 Temptable Performed Better without an Index Hint than with an Index Hint 498\u003c\/p\u003e \u003cp\u003e22.6 Effects of APPEND Hint for Populating Temptable 499\u003c\/p\u003e \u003cp\u003e22.7 Effects of Number of Iterations 499\u003c\/p\u003e \u003cp\u003e22.8 OR and IN without the Index Hint 499\u003c\/p\u003e \u003cp\u003e22.9 Limitation on the Number of Literal Values and the Size of OR Statement 501\u003c\/p\u003e \u003cp\u003e22.10 Dealing with More Than 1000 Literal Values for an IN Based SQL Query 501\u003c\/p\u003e \u003cp\u003e22.11 A Recommendation for Dealing with 1000 Literal Value Limit in an IN Statement 501\u003c\/p\u003e \u003cp\u003e22.12 Summary 502\u003c\/p\u003e \u003cp\u003eRecommended Reading 503\u003c\/p\u003e \u003cp\u003eExercises 503\u003c\/p\u003e \u003cp\u003e\u003cb\u003e23 Case Study: Data Access Paths (Double Buffering) 504\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e23.1 Data Access Paths in General 505\u003c\/p\u003e \u003cp\u003e23.2 Test Environments 511\u003c\/p\u003e \u003cp\u003e23.3 Test Results with Solaris on Veritas 514\u003c\/p\u003e \u003cp\u003e23.4 Test Results with Solaris on UFS 522\u003c\/p\u003e \u003cp\u003e23.5 Test Results with Windows on NTFS 526\u003c\/p\u003e \u003cp\u003e23.6 Moral of the Case Study 528\u003c\/p\u003e \u003cp\u003eRecommended Reading 529\u003c\/p\u003e \u003cp\u003eExercises 530\u003c\/p\u003e \u003cp\u003e\u003cb\u003e24 Case Study: Covering Index 531\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e24.1 Getting to Know the Application Architecture 533\u003c\/p\u003e \u003cp\u003e24.2 Quantifying the Problems 533\u003c\/p\u003e \u003cp\u003e24.3 Analyzing Bottlenecks 533\u003c\/p\u003e \u003cp\u003e24.4 Applying Optimizations\/Tunings 535\u003c\/p\u003e \u003cp\u003e24.5 Verifying the Fixes 535\u003c\/p\u003e \u003cp\u003e24.6 Moral of the Case Study 545\u003c\/p\u003e \u003cp\u003eRecommended Reading 546\u003c\/p\u003e \u003cp\u003eExercises 546\u003c\/p\u003e \u003cp\u003e\u003cb\u003e25 Case Study: CURSOR_SHARING 547\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e25.1 The Concept of a Bind Variable 548\u003c\/p\u003e \u003cp\u003e25.2 Oracle CURSOR_SHARING Parameter 549\u003c\/p\u003e \u003cp\u003e25.3 Getting to Know the Application Architecture 550\u003c\/p\u003e \u003cp\u003e25.4 Quantifying Problems 550\u003c\/p\u003e \u003cp\u003e25.5 Analyzing Bottlenecks 551\u003c\/p\u003e \u003cp\u003e25.6 Applying Tuning: CURSOR_SHARING = FORCE 560\u003c\/p\u003e \u003cp\u003e25.7 Applying Tuning: CURSOR_SHARING = SIMILAR 564\u003c\/p\u003e \u003cp\u003e25.8 Moral of the Case Study 569\u003c\/p\u003e \u003cp\u003eRecommended Reading 569\u003c\/p\u003e \u003cp\u003eExercises 570\u003c\/p\u003e \u003cp\u003e\u003cb\u003e26 Case Study: Bulk Transactions 571\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e26.1 Application Architecture 572\u003c\/p\u003e \u003cp\u003e26.2 Quantifying Problems 572\u003c\/p\u003e \u003cp\u003e26.3 Identifying Performance and Scalability Optimization Opportunities 573\u003c\/p\u003e \u003cp\u003e26.4 Effects of Bulk Transactions on Performance 581\u003c\/p\u003e \u003cp\u003e26.5 Moral of the Case Study 592\u003c\/p\u003e \u003cp\u003eRecommended Reading 593\u003c\/p\u003e \u003cp\u003eExercises 593\u003c\/p\u003e \u003cp\u003e\u003cb\u003e27 Case Study: Missing Statistics 594\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e27.1 Decaying Performance due to Missing Statistics 595\u003c\/p\u003e \u003cp\u003e27.2 First Run with no Statistics 597\u003c\/p\u003e \u003cp\u003e27.3 Second Run with Missing Statistics 604\u003c\/p\u003e \u003cp\u003e27.4 Third Run with Updated Statistics 611\u003c\/p\u003e \u003cp\u003e27.5 Moral of the Case Study 618\u003c\/p\u003e \u003cp\u003eRecommended Reading 618\u003c\/p\u003e \u003cp\u003eExercises 618\u003c\/p\u003e \u003cp\u003e\u003cb\u003e28 Case Study: Misconfigured SAN Storage 620\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e28.1 Architecture of the Apple’s Xserve RAID 621\u003c\/p\u003e \u003cp\u003e28.2 Problem Analysis 622\u003c\/p\u003e \u003cp\u003e28.3 Reconfiguring the RAID and Verifying 626\u003c\/p\u003e \u003cp\u003e28.4 Moral of the Case Study 629\u003c\/p\u003e \u003cp\u003eRecommended Reading 630\u003c\/p\u003e \u003cp\u003eExercises 630\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix A Oracle Product Documentations 633\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eA.1 Oracle Database Concepts 633\u003c\/p\u003e \u003cp\u003eA.2 Oracle Database Administrator’s Guide 633\u003c\/p\u003e \u003cp\u003eA.3 Oracle Database Reference 634\u003c\/p\u003e \u003cp\u003eA.4 Oracle Database Performance Tuning Guide 634\u003c\/p\u003e \u003cp\u003eA.5 Oracle Database 2 Day + Performance Tuning Guide 634\u003c\/p\u003e \u003cp\u003eA.6 Oracle Database 2 Day DBA 634\u003c\/p\u003e \u003cp\u003eA.7 Oracle Database SQL Language Reference 634\u003c\/p\u003e \u003cp\u003eA.8 Oracle Database Sample Schemas 635\u003c\/p\u003e \u003cp\u003eA.9 Oracle Database PL\/SQL Packages and Types Reference 635\u003c\/p\u003e \u003cp\u003eA.10 Oracle Database PL\/SQL Language Reference 635\u003c\/p\u003e \u003cp\u003eA.11 Oracle Database JDBC Developer’s Guide and References 635\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix B Using SQL*Plus with Oracle 636\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eB.1 Installation 636\u003c\/p\u003e \u003cp\u003eB.2 SQL*Plus and tnsnames.ora File 637\u003c\/p\u003e \u003cp\u003eB.3 Basics of SQL*Plus 638\u003c\/p\u003e \u003cp\u003eB.4 Common SQL*Plus Commands 638\u003c\/p\u003e \u003cp\u003eB.5 Using SQL*Plus to Execute SQL Statements 639\u003c\/p\u003e \u003cp\u003eB.6 Using SQL*Plus to Execute PL\/SQL Blocks 640\u003c\/p\u003e \u003cp\u003eB.7 Using SQL*Plus Autotrace to Obtain EXECUTION PLANs and Optimizer Statistics 640\u003c\/p\u003e \u003cp\u003eB.8 Using SQL*Plus Timing Command 641\u003c\/p\u003e \u003cp\u003eB.9 Exporting\/Importing Oracle Databases with SQL*Plus 642\u003c\/p\u003e \u003cp\u003eB.10 Creating AWR Reports with SQL*Plus 643\u003c\/p\u003e \u003cp\u003eB.11 Checking Tablespace Usage with SQL*Plus 644\u003c\/p\u003e \u003cp\u003eB.12 Creating EM DBConsole with SQL*Plus 646\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix C A Complete List of All Wait Events in Oracle 11g 648\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix D A Complete List of All Metrics with the V$Statname View 656\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix E A Complete List of All Statistics with the V$Sysstat View 667\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIndex 681\u003c\/p\u003e  \u003cp\u003e\u003cb\u003eHENRY H. LIU, P\u003csmall\u003eH\u003c\/small\u003eD,\u003c\/b\u003e is a Software Developer at BMC Software, Inc., with a physicist background from his prior career. His primary responsibilities at BMC include helping build performance and scalability into BMC's cloud computing and enterprise service management software products. Dr. Liu is the author of the highly acclaimed Software Performance and Scalability: A Quantitative Approach (Wiley).   \u003c\/p\u003e\u003cp\u003e\u003cb\u003eA data-driven, fact-based, quantitative text on Oracle performance and scalability\u003c\/b\u003e \u003c\/p\u003e\u003cp\u003eWith database concepts and theories clearly explained in Oracle's context, readers quickly learn how to fully leverage Oracle's performance and scalability capabilities at every stage of designing and developing an Oracle-based enterprise application. The book is based on the author's more than ten years of experience working with Oracle, and is filled with dependable, tested, and proven performance optimization techniques.  \u003c\/p\u003e\u003cp\u003e\u003ci\u003eOracle Database Performance and Scalability\u003c\/i\u003e is divided into four parts that enable readers to progressively learn and apply new skills: \u003c\/p\u003e\u003cul\u003e \u003cli\u003ePart 1, Getting Started with Oracle, describes how to set up a working Oracle environment, offering a quick tour to illustrate major database concepts\u003c\/li\u003e  \u003cli\u003ePart 2, Oracle Architecture from Performance and Scalability Perspectives, explains all the major database concepts and architectural features that readers need to know to optimize Oracle performance and scalability\u003c\/li\u003e  \u003cli\u003ePart 3, Optimizing Oracle Performance and Scalability, offers hands-on instructions to optimize and fine-tune performance and scalability for all database applications\u003c\/li\u003e  \u003cli\u003ePart 4, Case Studies: Oracle Meeting Real-World Performance and Scalability Challenges, sets forth quantitative case studies based on the author's first- hand experience that demonstrate how readers can apply proven techniques to dramatically improve the performance and scalability of actual database products\u003c\/li\u003e \u003c\/ul\u003e  \u003cp\u003eIn addition to case studies, this book offers a detailed secure online banking application as an example, making it possible for readers to fully explore Oracle's performance and scalability features on their own. \u003ci\u003eOracle Database Performance and Scalability\u003c\/i\u003e is an ideal text for pre-conditioning college students and training software developers.\u003c\/p\u003e","brand":"Wiley-IEEE Computer Society Pr","offers":[{"title":"Default Title","offer_id":47989724348645,"sku":"NP9781118056998","price":122.95,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9781118056998.jpg?v=1761785257","url":"https:\/\/k12savings.com\/products\/oracle-database-performance-and-scalability-isbn-9781118056998","provider":"K12savings","version":"1.0","type":"link"}