
Optimizing Oracle Performance
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Table of Contents
- Foreword
- Preface
- Why I Wrote This Book
- Audience for This Book
- Structure of This Book
- Which Platform and Version?
- What This Book Is and Is Not
- About the Tools, Examples, and Exercises
- Citations
- Conventions Used in This Book
- Comments and Questions
- Acknowledgments
- Part I
- A Better Way to Optimize
- "You're Doing It Wrong"
- Requirements of a Good Method
- Three Important Advances
- User Action Focus
- Response Time Focus
- Amdahl's Law
- All Together Now
- Tools for Analyzing Response Time
- Sequence Diagram
- Resource Profile
- Method R
- Who Uses the Method
- The abominable smokestack
- The optimal performance analyst
- Your role
- Overcoming Common Objections
- "But my whole system is slow"
- "The method only works if the problem is the database"
- "The method is unconventional"
- Evaluation of Effectiveness
- Targeting the Right User Actions
- Specification Reliability
- The System
- Economic Constraints
- Making a Good Specification
- User Action
- Identifying the Right User Actions and Contexts
- Prioritizing the User Actions
- Determining Who Will Execute Each Action and When
- Specification Over-Constraint
- Targeting the Right Diagnostic Data
- Expectations About Data Collection
- Data Scope
- Scoping Errors
- Long-Running User Actions
- "Too Much Data" Is Really Not Enough Data
- Oracle Diagnostic Data Sources
- For More Information
- Targeting the Right Improvement Activity
- A New Standard of Customer Care
- How to Find the Economically Optimal Performance Improvement Activity
- Making Sense of Your Diagnostic Data
- Forecasting Project Net Payoff
- Forecasting Project Benefits
- Monetizing the benefits
- If you can't monetize the benefits
- Forecasting Project Cost
- Forecasting Project Risk
- Part II
- Interpreting Extended SQL Trace Data
- Trace File Walk-Through
- Extended SQL Trace Data Reference
- Trace File Element Definitions
- Cursor numbers
- Session identification and timestamps
- Application identification
- Cursor identification
- Database calls
- Wait events
- Bind variables
- Row source operations
- Transaction end markers
- Reference summary
- Oracle Time Units
- Response Time Accounting
- Time Within a Database Call
- Time Between Database Calls
- Recursive SQL Double-Counting
- Parent-child relationships
- Recursive statistics
- Evolution of the Response Time Model
- Walking the Clock
- Oracle Release 8 and Prior
- Oracle Release 9
- Clock Walk Formulas
- Forward Attribution
- Forward Attribution for Within-Call Events
- Forward Attribution for Between-Call Events
- Detailed Trace File Walk-Through
- Exercises
- Collecting Extended SQL Trace Data
- Understanding Your Application
- Activating Extended SQL Trace
- Tracing Your Own Source Code
- Tracing Someone Else's Source Code
- Triggering a session to activate its own trace
- Activating trace from a third-party session
- Finding Your Trace File(s)
- Trace File Names
- Simple Client-Server Applications
- Oracle Parallel Execution
- Oracle Multi-Threaded Server
- Connection-Pooling Applications
- Some Good News
- Eliminating Collection Error
- Time Scope Errors at Trace Activation
- Missing wait event data at trace activation
- Missing database call data at trace activation
- Excess database call data at trace activation
- Missing Time at Trace Deactivation
- Incomplete Recursive SQL Data
- Exercises
- Oracle Kernel Timings
- Operating System Process Management
- The sys call Transition
- The interrupt Transition
- Other States and Transitions
- Oracle Kernel Timings
- How Software Measures Itself
- Elapsed Time
- CPU Consumption
- Unaccounted-for Time
- Measurement Intrusion Effect
- CPU Consumption Double-Counting
- Quantization Error
- Measurement Resolution
- Definition of Quantization Error
- Complications in Measuring CPU Consumption
- How gettimeofday works
- How getrusage works
- Detection of Quantization Error
- Bounds of Quantization Error
- Time Spent Not Executing
- Instrumenting the Experiment
- Process States and Transitions Revisited
- Un-Instrumented Oracle Kernel Code
- Effect
- Trace Writing
- Exercises
- Oracle Fixed View Data
- Deficiencies of Fixed View Data
- Too Many Data Sources
- Lack of Detail
- Measurement Intrusion Effect of Polling
- Difficulty of Proper Action-Scoping
- Difficulty of Proper Time-Scoping
- Susceptibility to Overflow and Other Errors
- Lack of Database Call Duration Data
- Lack of Read Consistency
- Fixed View Reference
- V$SQL
- V$SESS_IO
- V$SYSSTAT
- V$SESSTAT
- V$SYSTEM_EVENT
- V$SESSION_EVENT
- V$SESSION_WAIT
- Useful Fixed View Queries
- Tom Kyte's Test Harness
- Finding a Fixed View Definition
- Finding Inefficient SQL
- Finding Where a Session Is Stuck
- Finding Where a System Is Stuck
- Approximating a Session's Resource Profile
- Viewing Waits System-Wide
- The "idle events" problem
- The denominator problem
- Infinite capacity for waiting
- Idle events in background sessions
- Targeting revisited
- The Oracle "Wait Interface"
- Exercises
- Queueing Theory for the Oracle Practitioner
- Performance Models
- Queueing
- Queueing Economics
- Queueing Visualized
- Queueing Theory
- Model Input and Output Values
- Arrivals and completions
- Service channels, utilization, and stability
- Service time and service rate
- Queueing delay and response time
- Maximum effective throughput
- Cumulative distribution function (CDF) of response time
- Random Variables
- Expected value
- Probability density function (pdf)
- Using the pdf
- Why understanding distribution is important
- Queueing Theory Versus the "Wait Interface"
- Oracle wait times
- Differences in queueing theory notation
- The M/M/m Queueing Model
- M/M/m Systems
- Non-M/M/m Systems
- Exponential Distribution
- Poisson-exponential relationship
- Testing for fit to exponential distribution
- A program to test for exponential distribution
- Behavior of M/M/m Systems
- Multi-channel scalability
- The knee
- Response time fluctuations
- Parameter sensitivity
- Using M/M/m: Worked Example
- Suitability for modeling with M/M/m
- Computing the required number of CPUs
- What we can learn from an optimistic model
- Negotiating the negotiable parameters
- Using Goal Seek in Microsoft Excel
- Sensitivity analysis
- Perspective
- Exercises
- Part III
- Working the Resource Profile
- How to Work a Resource Profile
- Work in Descending Response Time Order
- Why targeting is vital
- Possible benefits of low-return improvements
- Eliminate Unnecessary Calls
- Why workload elimination works so well
- Supply and demand in the technology stack
- How to eliminate calls
- Thinking in a bigger box
- Eliminate Inter-Process Competition
- How to attack a latency problem
- How to find competing workload
- Upgrade Capacity
- How to Forecast Improvement
- How to Tell When Your Work Is Done
- Responding to the Diagnosis
- Beyond the Resource Profile
- Response Time Components
- Oracle Pseudoevents
- CPU service
- unaccounted-for
- No Event Is Inherently "Unimportant"
- Responding to large SQL*Net response time contributions
- Responding to large response time contributions from other events
- Eliminating Wasteful Work
- Logical I/O Optimization
- Why LIO problems are so common
- How to optimize SQL
- Parse Optimization
- Write Optimization
- Attributes of a Scalable Application
- Case Studies
- Case 1: Misled by System-Wide Data
- Targeting
- Diagnosis and Response
- Results
- Lessons Learned
- Case 2: Large CPU Service Duration
- Targeting
- Diagnosis and Response
- Results
- Lessons Learned
- Case 3: Large SQL*Net Event Duration
- Targeting
- Diagnosis and Response
- Results
- Lessons Learned
- Case 4: Large Read Event Duration
- Targeting
- Diagnosis and Repair
- Results
- Lessons Learned
- Conclusion
- Part IV
- Glossary
- Greek Alphabet
- Optimizing Your Database Buffer Cache Hit Ratio
- M/M/m Queueing Theory Formulas
- References
- Index
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.