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.
Autorentext
HENRY H. LIU, PHD, 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).
Klappentext
A data-driven, fact-based, quantitative text on Oracle performance and scalability
With 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.
Oracle Database Performance and Scalability is divided into four parts that enable readers to progressively learn and apply new skills:
- Part 1, Getting Started with Oracle, describes how to set up a working Oracle environment, offering a quick tour to illustrate major database concepts
- Part 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
- Part 3, Optimizing Oracle Performance and Scalability, offers hands-on instructions to optimize and fine-tune performance and scalability for all database applications
- Part 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
In 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. Oracle Database Performance and Scalability is an ideal text for pre-conditioning college students and training software developers.
Inhalt
Preface xxv
Why This Book xxv
Who This Book is for xxvi
How This Book is Organized xxvii
Software and Hardware xxviii
How to Use This Book xxix
How to Reach the Author xxxi
Acknowledgments xxxiii
Introduction 1
Features of Oracle 2
Objectives 4
Conventions 5
Performance versus Scalability 6
Part 1 Getting Started with Oracle 7
1 Basic Concepts 9
1.1 Standard versus Flavored SQLS 10
1.2 Relational versus Object-Oriented Databases 11
1.3 An Instance versus a Database 11
1.4 Summary 12
Recommended Reading 12
Exercises 12
2 Installing Oracle Software 14
2.1 Installing Oracle 11g Server Software 15
2.2 Configuring a Listener 18
2.3 Creating an Oracle Database 18
2.4 Installing Oracle 11g Client Software 28
2.5 Oracle Grid Control versus DB Control 31
2.6 Summary 33
Recommended Reading 33
Exercises 33
3 Options for Accessing an Oracle Server 34
3.1 A Command Line Interface (CLI) versus a GUI-Based Console 35
3.2 The Oracle Enterprise Manager Java Console (OEMJC) 37
3.3 Using the SQL*Plus Tool 40
3.4 Oracle Enterprise Manager DBConsole 42
3.5 Other Tools for Developers 43
3.6 Case Study: Creating ER Diagrams with Visio via ODBC 44
3.7 Case Study: Accessing Oracle in Java via JDBC 47
3.8 Summary 49
Recommended Reading 50
Exercises 50
4 A Quick Tour of an Oracle Server 52
4.1 New Oracle Schemas Beyond "Scott" 53
4.2 Oracle Users versus Schemas 54
4.3 Tablespaces, Segments, Extents, and Data Blocks 56
4.4 Tables, Indexes and Index Types for Structured Data 57
4.5 Domain and LOB Index Types for Unstructured Data 65
4.6 Views, Materialized Views, and Synonyms 68
4.7 Stored Procedures, Functions, and Triggers 68
4.8 Referential Integrity with Foreign Keys 71
4.9 Summary 73
Recommended Reading 73
Exercises 74
Part 2 Oracle Architecture from Performance and Scalability Perspectives 75
5 Understanding Oracle Architecture 79
5.1 The Version History of Oracle 80
5.2 Oracle Processes 82
5.3 Oracle Memory Areas 87
5.4 Dedicated versus Shared Oracle Server Architecture 89
5.5 Performance Sensitive Initialization Parameters 91
5.6 Oracle Static Data Dictionary Views 94
5.7 Oracle Dynamic Performance (V$) Views 95
5.8 Summary 98
Recommended Reading 98
Exercises 99
6 Oracle 10g Memory Management 101
6.1 SGA Sub-Areas 102
6.2 SGA Sizing: Automatic Shared Memory Management (ASMM) 104
6.3 PGA Sizing: PGA_AGGREGATE_TARGET 106
6.4 Summary 108
Recommended Reading 109
Exercises 110
7 Oracle 11g Memory Management 111
7.1 Automatic Memory Management (AMM) 112
7.2 Memory Sizing Options Configurable at Database Creation Time 112
7.3 Checking Memory Management and Usage Distribution at Run Time 113
7.4 Summary 115
Recommended Reading 115
Exercises 115
8 Oracle Storage Structure 116
8.1 Overview 117
8.2 Managing Tablespaces 119
8.3 Managing Data Files 122
8.4 Managing Redo Logs 124
8.5 Summary 125
Recommended Reading 125
Exercises 126
9 Oracle Wait Interface (OWI) 127
9.1 Ratio-based versus OWI-based Oracle Performance Tuning Methodologies 128
9.2 Wait Event-The Core Concept of OWI 130
9.3 Classification of Wait Events from OWI 131
9.4 The Other Part (CPU Time) of the Equation Elapsed Time = CPU Time + Wait Time 134
9.5 AWR as a Compass to Tuning Oracle Performance and Scalability 136
9.6 Summary 137
Recommended Reading 137
Exercises 138
10 Oracle Data Consistency and Concurrency 139
10.1 Select . . . for Update Statement 140
10.2 ACID Properties of Transactions 141
10.3 Read Phenomena and Data Inconsistencies 143
10.4 Oracle Isolation Levels 145
10.5 Multi-Version Concurrency Control (MVCC) and Read Consistency 145
10.6 Oracle Locks 146
10.7 Lock Escalations versus Conversions 149
10.8 Oracle Latches 149
10.9 Oracle Enqueues 150
10.10 Deadlocks 150
10.11 Taking Advantage of Oracle's Scalable Concurrency Model 151
10.12 Case Study: A JDBC Example 152
10.13 Summary 158
Recommended Reading 159
Exercises 159
11 Anatomy of an Oracle Automatic Workload Repository (AWR) Report 161
11.1 Importance of Performance Statistics 162
11.2 AWR Report Header 165
11.3 Report Summary 166