| Foreword | p. xi |
| Preface | p. xiii |
| Method | |
| A Better Way to Optimize | p. 3 |
| "You're Doing It Wrong" | p. 5 |
| Requirements of a Good Method | p. 6 |
| Three Important Advances | p. 8 |
| Tools for Analyzing Response Time | p. 12 |
| Method R | p. 19 |
| Targeting the Right User Actions | p. 33 |
| Specification Reliability | p. 33 |
| Making a Good Specification | p. 38 |
| Specification Over-Constraint | p. 43 |
| Targeting the Right Diagnostic Data | p. 45 |
| Expectations About Data Collection | p. 45 |
| Data Scope | p. 48 |
| Oracle Diagnostic Data Sources | p. 55 |
| For More Information | p. 57 |
| Targeting the Right Improvement Activity | p. 58 |
| A New Standard of Customer Care | p. 58 |
| How to Find the Economically Optimal Performance Improvement Activity | p. 59 |
| Making Sense of Your Diagnostic Data | p. 60 |
| Forecasting Project Net Payoff | p. 62 |
| Reference | |
| Interpreting Extended SQL Trace Data | p. 73 |
| Trace File Walk-Through | p. 73 |
| Extended SQL Trace Data Reference | p. 76 |
| Response Time Accounting | p. 86 |
| Evolution of the Response Time Model | p. 94 |
| Walking the Clock | p. 98 |
| Forward Attribution | p. 102 |
| Detailed Trace File Walk-Through | p. 104 |
| Exercises | p. 106 |
| Collecting Extended SQL Trace Data | p. 109 |
| Understanding Your Application | p. 109 |
| Activating Extended SQL Trace | p. 112 |
| Finding Your Trace File(s) | p. 119 |
| Eliminating Collection Error | p. 126 |
| Exercises | p. 140 |
| Oracle Kernel Timings | p. 141 |
| Operating System Process Management | p. 141 |
| Oracle Kernel Timings | p. 144 |
| How Software Measures Itself | p. 145 |
| Unaccounted-for Time | p. 149 |
| Measurement Intrusion Effect | p. 150 |
| CPU Consumption Double-Counting | p. 153 |
| Quantization Error | p. 155 |
| Time Spent Not Executing | p. 170 |
| Un-Instrumented Oracle Kernel Code | p. 173 |
| Exercises | p. 175 |
| Oracle Fixed View Data | p. 177 |
| Deficiencies of Fixed View Data | p. 178 |
| Fixed View Reference | p. 187 |
| Useful Fixed View Queries | p. 194 |
| The Oracle "Wait Interface" | p. 217 |
| Exercises | p. 218 |
| Queueing Theory for the Oracle Practitioner | p. 220 |
| Performance Models | p. 221 |
| Queueing | p. 222 |
| Queueing Theory | p. 225 |
| The M/M/m Queueing Model | p. 243 |
| Perspective | p. 279 |
| Exercises | p. 280 |
| Deployment | |
| Working the Resource Profile | p. 285 |
| How to Work a Resource Profile | p. 286 |
| How to Forecast Improvement | p. 300 |
| How to Tell When Your Work Is Done | p. 302 |
| Responding to the Diagnosis | p. 305 |
| Beyond the Resource Profile | p. 306 |
| Response Time Components | p. 307 |
| Eliminating Wasteful Work | p. 316 |
| Attributes of a Scalable Application | p. 324 |
| Case Studies | p. 326 |
| Misled by System-Wide Data | p. 327 |
| Large CPU Service Duration | p. 333 |
| Large SQL *Net Event Duration | p. 337 |
| Large Read Event Duration | p. 344 |
| Conclusion | p. 351 |
| Appendixes | |
| Glossary | p. 355 |
| Greek Alphabet | p. 363 |
| Optimizing Your Database Buffer Cache Hit Ratio | p. 365 |
| M/M/m Queueing Theory Formulas | p. 372 |
| References | p. 374 |
| Index | p. 381 |
| Table of Contents provided by Ingram. All Rights Reserved. |