Disclaimer: Authors have full rights over their works. Reproduction of any part of the content is prohibited without prior authorization.
SUMMARY
Items Found: 700
- Technical Reviewers
- Chapter 1: Battle Against Any Guess
- Guess Hunting
- Why Do We Guess?.
- Understanding a Problem
- Logical Conclusions vs. Historical Observations
- Knowledge Is Power
- RTFM
- Facing the Unknown.
- Paradigm Shifts
- Experience Is Danger.
- Fixing the Root Cause?.
- Best Practices and Myths.
- BattleAgainstAnyGuess.com
- Chapter 2: A Partly Cloudy Future
- What Is Cloud Computing?
- Software as a Service (SAAS).
- Platform as a Service (PAAS).
- Infrastructure as a Service (IAAS).
- Who Are the Cloud Providers?
- Sun
- Salesforce.com.
- Google.
- Microsoft
- Amazon.com.
- Running Oracle on Amazon’s Cloud.
- But Is It Supported?.
- Making the Cloud Concrete
- Prerequisites
- How Do You Work This Thing?
- Starting Out: Getting a Suitable Operating System Running
- Persistent Storage
- Simple Storage Service (S3)
- Elastic Block Storage (EBS)
- EBS Performance for Oracle.
- Attaching and Configuring EBS Storage
- Persistence Approaches.
- Method A: Generic AMI and EBS File System
- Method B: Custom AMI
- Method C: Boot from EBS
- Oracle Backup on EC2: The OSB Cloud Module.
- Chapter 3: Developing a Performance Methodology
- What Is Performance?
- The Early Days.
- Time-Based Performance Analysis
- Performance Strategy.
- Design and Development.
- Common Design Pitfalls
- Lightweight Performance Measures.
- Quality Assurance
- Testing for Performance
- Capturing Resource Utilization and Outlines
- New Software and Upgrades
- Know Your Hardware.
- Verify Statistics Collection.
- Back Up the Optimizer Statistics
- Implement Change Incrementally.
- Post Installation or Upgrade
- Reactive Tuning
- Step 1: Define the Problem.
- Step 2: Examine the Performance Data.
- Step 3: Formulate a Theory
- Step 4: Implement and Verify the Solution
- Diagnostic Tools
- Using and Interpreting ADDM
- Using and Interpreting the ASH Report
- Using and Interpreting the AWR and Statspack Instance Reports
- Meaning of Key Statistics
- Time-Based Statistics
- % Activity and Average Active Sessions.
- ASH-Estimated DB time
- V$OSSTAT.
- Wait Classes
- The Optimizer
- Managing Statistics
- Locking Statistics
- Execution Plan Stability and Profiles
- Chapter 4: The DBA as Designer
- When to Get Involved in Application Design
- Be Approachable
- Ask for Periodic Sign-off on Design and Application Milestones
- Attend Code Reviews
- Hold Postmortems
- Partnership Between DBAs and Developers
- Hold Brown Bag Sessions
- Sit Near Each Other
- Be Open to New Ideas
- Be on the Same Side
- Design-First Methodologies vs. Agile Techniques
- Design-First Approach
- Agile Software Development
- Pros and Cons of Each Methodology
- Schema Design
- Choose Your Datatypes Carefully
- When Bigger Is Not Better
- Heaps of Trouble
- Faster,Not Harder
- Other Design Considerations
- Middle Tier vs. Database
- Flexibility,Security,Speed
- The Importance of Having Integrity
- Don’t Be High Maintenance
- The DBA as Database Evangelist.
- Reading the Documentation and Keeping Current
- Knowing,Testing,and Teaching Your Software’s Features
- Learning from Your Mistakes and Experiences
- Triages and Postmortems
- Constant and Iterative Knowledge Sharing
- Chapter 5: Running Oracle on Windows
- Architecture.
- CPU Resources
- Memory
- Disk.
- Management.
- The Registry.
- Services.
- Scripting
- Chapter 6: Managing SQL Performance.
- Adopting a Performance Mindset
- Defining and Measuring Performance.
- EXPLAIN PLAN.
- DBMS_XPLAN
- Extended SQL Trace Data
- Interpreting Performance Data
- Case 1: The Lack of a Good Index.
- Case 2: The Presence of Unidentified Data Skew.
- Case 3: SQL That Should Be Rewritten.
- Case 4: SQL That Unnecessarily Invokes PL/SQL
- Further Reading
- Chapter 7: PL/SQL and the CBO
- Reviewing the Basics
- Parsing Phase
- Execution Plan Preparation
- Using the Extensible Optimizer.
- User-Defined Statistics
- User-Defined Selectivity
- User-Defined Cost
- Creating an Example
- Creating Some Example Objects
- Running an Example Query
- Giving the CBO Better Information
- Understanding How It Works
- Indicating Default Selectivity and Default Cost
- Specifying Defaults (Syntax).
- Determining a Default Cost.
- Breaking the Association.
- Influencing the Execution Plans
- Example 1: Influence of the Increased Cost
- Example 2: Influence on the Order of Operations with Default Statistics
- Example 3: Influence on the Order of Operations
- Chapter 8: Understanding Performance Optimization Methods
- Blindly Changing Parameters
- Monitoring and Reacting to the BCHR
- Monitoring Delta Values of System/Session Stats
- Monitoring File Activity.
- Monitoring the Delta Values of System/Session Waits
- Monitoring CPU Utilization
- CPU Load Generators
- Determining the CPU Run Queue
- Determining CPU Utilization
- Sampling Performance with Low Overhead
- Capturing Some Statistics
- Decision Tree for Quickly Interpreting the Statistics
- Creating Statspack or AWR Reports
- Monitoring the Delta Values for SQL Statements
- Examining Execution Plans and Plan Statistics
- Examining Optimizer Parameters Affecting Plans
- Generating 10053 Cost-Based Optimizer Traces.
- Activating and Deactivating the Optimizer Trace
- Query Blocks.
- Peeked Bind Variables
- Optimizer Parameters Used
- Transformations
- System Statistics
- Base Statistical Information
- Dynamic Sampling.
- Single Table Access Path
- General Plans
- Plan Table.
- Query Block Registry
- Hints
- The Query
- Generating 10046 Extended Traces.
- Enabling a 10046 Extended Trace
- Disabling 10046 Tracing
- Sample Trace File Analysis with Oracle 11.1.0.7
- Examining Server Stack Traces
- Generating a Trace File on Error.
- Initiating a Trace with SQL*Plus ORADEBUG
- Operating-System-Generated Stack Traces
- Reviewing the Enterprise Manager ADDM Findings
- Examining Network Packets
- Examining Client-Side Traces.
- SQL*Net Tracing
- Process Monitor Tracing
- Spy++ Tracing
- Investigating Enqueue Waits
- Chapter 9: Choosing a Performance Optimization Method.
- Decision Tree for Performance Monitoring.
- Performance Problems Not Yet Reported
- Problems Reported by End Users
- Problems Reported by IT Staff
- Sample Investigations
- Quick Checkup
- Problem After Upgrading the Oracle Release Version
- Problem After Upgrading the ERP Version
- Performance Optimization Issues
- Inefficient SQL
- Verify the Inefficiency
- Collect Additional Data
- Verify That the Trace File Covers Only One Test
- Verify That the Trace File Is Complete.
- Verify That the Issue Is a Database Issue
- Determine Whether It Is a Parse or Execution Problem.
- Parse Performance Issues.
- Majority of Parse Time Spent on the CPU
- Majority of Parse Time Spent on Wait Events
- High Execution Time or Fetch Time Issues.
- General Optimizer Settings and Object Statistics.
- Histogram Issues.
- Common Parameters Influencing Optimizer
- Statement and Physical Design Issues.
- Data Access Issues.
- Optimizer Not Using (Correct) Index
- Pagination (Top N) Queries
- Processing Large Result Sets.
- Join Issues
- Parallel Processing Issues.
- Shared Pool Abuse
- Resolving Shared Pool Abuse
- General Guidelines for Investigating Shared Pool Abuse.
- Chapter 10: Managing the Very Large Database
- Designing (or Retrofitting) a VLDB.
- Infinity Is So Imprecise…
- Partitioning
- Everything Is a Segment
- Data Manipulation with Partitioning
- Partition Pruning
- Partition Configuration
- Information Life Cycle Management
- Backup Optimization and Guaranteed Recovery
- Further Notes on Storage
- Limits of Which to Be Aware
- Database Block Size
- Number of Files in a Database
- Storage That Can Migrate.
- Parameter READ_ONLY_OPEN_DELAYED.
- Chapter 11: Statistics
- It Can’t Be Done!
- Subquery Anomaly.
- Partition Elimination
- Lack of Knowledge
- Problems with Statistics.
- Timing.
- Multinationals
- Partitioning
- Batch Jobs.
- Creating Statistics
- Other Stats
- Baseline.
- Chapter 12: Troubleshooting Latch Contention
- Latches and Why We Need Them
- Solitaire,Parent,and Child Latches
- Operational Specifics
- Immediate Mode.
- Willing-to-Wait Mode.
- Latch-Wait Posting Mode
- Identifying and Analyzing Latch Contention
- Step 1: Identify Latches Causing Contention
- Step 2: Review Distribution of Gets
- Step 3: Check the Code Path
- Cache Buffers Chains Latch Contention
- Common Causes of CBC Latch Contention
- Analyzing CBC Latch Contention.
- Resolving CBC Latch Contention
- Shared Pool Latch Contention
- Structures in the Shared Pool
- Common Causes of Shared Pool Latch Contention
- Analyzing Shared pool Latch Contention
- Resolving Shared Pool Latch Contention.
- Library Cache Latch Contention.
- Common Causes of Library Cache Latch Contention
- Analyzing Library Cache Latch Contention
- Library Cache Latches and Mutexes
- Resolving Library Cache Latch Contention
- Enqueue Hash Chains Latch Contention.
- Common Causes of Enqueue Hash Chains Latch Contention
- Analyzing Enqueue Hash Chains Latch Contention
- Resolving Enqueue Hash Chains Latch Contention
- Advanced Help for Latch Contention Problems
- The v$latch_parent View
- The spin_count Parameter
- The _latch_classes and _latch_class_N Parameters.
- The _latch_wait_posting and _enable_reliable_latch_waits Parameters
- Chapter 13: Measuring for Robust Performance
- Finding the Red Rocks
- Understanding the Properties of Performance
- Response Time Is Key
- Throughput Counts
- Meeting Expectations Matters.
- All Together Now.
- Tuning a Data Warehouse
- Initial Tuning.
- Repeating the Analysis
- Exploring What Variance Can Tell Us About a Process
- Distribution Analysis
- Distribution of Elapsed Time Data
- Variance.
- The Index of Dispersion
- What About Standard Deviation?.
- Elapsed Time Data Sources
- Achieving Robust Performance
- Designing an Experiment
- Using Instrumentation
- Measuring the Results
- Tolerance Ranges and Process Capability
- What is Too Much Variation?
- Measuring Variance Within Oracle Sample Sets
- Sampling from Samples
- Chapter 14: User Security.
- Securing User Accounts
- User Enumeration.
- Splitting the Task in Two
- Dealing with Oracle Database 10g and Prior.
- Feature Analysis
- Accounts That Can Definitely Be Removed
- Accounts That Definitely Have to Remain in the Database
- Accounts to Analyze Individually
- Reduction of Accounts
- Account Password Strength
- Cracking Passwords with a PL/SQL Password Cracker
- Cracking Passwords with a Real Password Cracker
- Fixing Weak Passwords
- Roles and Privilege Assessment.
- Have Accounts Been Used?.
- Have Accounts Been Shared?
- Password Management
- Audit Settings
- Quiz Answer
- Chapter 15: Securing Data.
- Identifying Key Data.
- Locating the Database Table
- Direct Table Privileges
- Understand the Hierarchy.
- Other Methods to Read Data
- Access to Access.
- Duplicating Data
- Generalizing Across the Database.
- Quiz Answer
- Index.
- Technical Reviewers
- Chapter 1: Battle Against Any Guess
- Guess Hunting
- Why Do We Guess?.
- Understanding a Problem
- Logical Conclusions vs. Historical Observations
- Knowledge Is Power
- RTFM
- Facing the Unknown.
- Paradigm Shifts
- Experience Is Danger.
- Fixing the Root Cause?.
- Best Practices and Myths.
- BattleAgainstAnyGuess.com
- Chapter 2: A Partly Cloudy Future
- What Is Cloud Computing?
- Software as a Service (SAAS).
- Platform as a Service (PAAS).
- Infrastructure as a Service (IAAS).
- Who Are the Cloud Providers?
- Sun
- Salesforce.com.
- Google.
- Microsoft
- Amazon.com.
- Running Oracle on Amazon’s Cloud.
- But Is It Supported?.
- Making the Cloud Concrete
- Prerequisites
- How Do You Work This Thing?
- Starting Out: Getting a Suitable Operating System Running
- Persistent Storage
- Simple Storage Service (S3)
- Elastic Block Storage (EBS)
- EBS Performance for Oracle.
- Attaching and Configuring EBS Storage
- Persistence Approaches.
- Method A: Generic AMI and EBS File System
- Method B: Custom AMI
- Method C: Boot from EBS
- Oracle Backup on EC2: The OSB Cloud Module.
- Chapter 3: Developing a Performance Methodology
- What Is Performance?
- The Early Days.
- Time-Based Performance Analysis
- Performance Strategy.
- Design and Development.
- Common Design Pitfalls
- Lightweight Performance Measures.
- Quality Assurance
- Testing for Performance
- Capturing Resource Utilization and Outlines
- New Software and Upgrades
- Know Your Hardware.
- Verify Statistics Collection.
- Back Up the Optimizer Statistics
- Implement Change Incrementally.
- Post Installation or Upgrade
- Reactive Tuning
- Step 1: Define the Problem.
- Step 2: Examine the Performance Data.
- Step 3: Formulate a Theory
- Step 4: Implement and Verify the Solution
- Diagnostic Tools
- Using and Interpreting ADDM
- Using and Interpreting the ASH Report
- Using and Interpreting the AWR and Statspack Instance Reports
- Meaning of Key Statistics
- Time-Based Statistics
- % Activity and Average Active Sessions.
- ASH-Estimated DB time
- V$OSSTAT.
- Wait Classes
- The Optimizer
- Managing Statistics
- Locking Statistics
- Execution Plan Stability and Profiles
- Chapter 4: The DBA as Designer
- When to Get Involved in Application Design
- Be Approachable
- Ask for Periodic Sign-off on Design and Application Milestones
- Attend Code Reviews
- Hold Postmortems
- Partnership Between DBAs and Developers
- Hold Brown Bag Sessions
- Sit Near Each Other
- Be Open to New Ideas
- Be on the Same Side
- Design-First Methodologies vs. Agile Techniques
- Design-First Approach
- Agile Software Development
- Pros and Cons of Each Methodology
- Schema Design
- Choose Your Datatypes Carefully
- When Bigger Is Not Better
- Heaps of Trouble
- Faster,Not Harder
- Other Design Considerations
- Middle Tier vs. Database
- Flexibility,Security,Speed
- The Importance of Having Integrity
- Don’t Be High Maintenance
- The DBA as Database Evangelist.
- Reading the Documentation and Keeping Current
- Knowing,Testing,and Teaching Your Software’s Features
- Learning from Your Mistakes and Experiences
- Triages and Postmortems
- Constant and Iterative Knowledge Sharing
- Chapter 5: Running Oracle on Windows
- Architecture.
- CPU Resources
- Memory
- Disk.
- Management.
- The Registry.
- Services.
- Scripting
- Chapter 6: Managing SQL Performance.
- Adopting a Performance Mindset
- Defining and Measuring Performance.
- EXPLAIN PLAN.
- DBMS_XPLAN
- Extended SQL Trace Data
- Interpreting Performance Data
- Case 1: The Lack of a Good Index.
- Case 2: The Presence of Unidentified Data Skew.
- Case 3: SQL That Should Be Rewritten.
- Case 4: SQL That Unnecessarily Invokes PL/SQL
- Further Reading
- Chapter 7: PL/SQL and the CBO
- Reviewing the Basics
- Parsing Phase
- Execution Plan Preparation
- Using the Extensible Optimizer.
- User-Defined Statistics
- User-Defined Selectivity
- User-Defined Cost
- Creating an Example
- Creating Some Example Objects
- Running an Example Query
- Giving the CBO Better Information
- Understanding How It Works
- Indicating Default Selectivity and Default Cost
- Specifying Defaults (Syntax).
- Determining a Default Cost.
- Breaking the Association.
- Influencing the Execution Plans
- Example 1: Influence of the Increased Cost
- Example 2: Influence on the Order of Operations with Default Statistics
- Example 3: Influence on the Order of Operations
- Chapter 8: Understanding Performance Optimization Methods
- Blindly Changing Parameters
- Monitoring and Reacting to the BCHR
- Monitoring Delta Values of System/Session Stats
- Monitoring File Activity.
- Monitoring the Delta Values of System/Session Waits
- Monitoring CPU Utilization
- CPU Load Generators
- Determining the CPU Run Queue
- Determining CPU Utilization
- Sampling Performance with Low Overhead
- Capturing Some Statistics
- Decision Tree for Quickly Interpreting the Statistics
- Creating Statspack or AWR Reports
- Monitoring the Delta Values for SQL Statements
- Examining Execution Plans and Plan Statistics
- Examining Optimizer Parameters Affecting Plans
- Generating 10053 Cost-Based Optimizer Traces.
- Activating and Deactivating the Optimizer Trace
- Query Blocks.
- Peeked Bind Variables
- Optimizer Parameters Used
- Transformations
- System Statistics
- Base Statistical Information
- Dynamic Sampling.
- Single Table Access Path
- General Plans
- Plan Table.
- Query Block Registry
- Hints
- The Query
- Generating 10046 Extended Traces.
- Enabling a 10046 Extended Trace
- Disabling 10046 Tracing
- Sample Trace File Analysis with Oracle 11.1.0.7
- Examining Server Stack Traces
- Generating a Trace File on Error.
- Initiating a Trace with SQL*Plus ORADEBUG
- Operating-System-Generated Stack Traces
- Reviewing the Enterprise Manager ADDM Findings
- Examining Network Packets
- Examining Client-Side Traces.
- SQL*Net Tracing
- Process Monitor Tracing
- Spy++ Tracing
- Investigating Enqueue Waits
- Chapter 9: Choosing a Performance Optimization Method.
- Decision Tree for Performance Monitoring.
- Performance Problems Not Yet Reported
- Problems Reported by End Users
- Problems Reported by IT Staff
- Sample Investigations
- Quick Checkup
- Problem After Upgrading the Oracle Release Version
- Problem After Upgrading the ERP Version
- Performance Optimization Issues
- Inefficient SQL
- Verify the Inefficiency
- Collect Additional Data
- Verify That the Trace File Covers Only One Test
- Verify That the Trace File Is Complete.
- Verify That the Issue Is a Database Issue
- Determine Whether It Is a Parse or Execution Problem.
- Parse Performance Issues.
- Majority of Parse Time Spent on the CPU
- Majority of Parse Time Spent on Wait Events
- High Execution Time or Fetch Time Issues.
- General Optimizer Settings and Object Statistics.
- Histogram Issues.
- Common Parameters Influencing Optimizer
- Statement and Physical Design Issues.
- Data Access Issues.
- Optimizer Not Using (Correct) Index
- Pagination (Top N) Queries
- Processing Large Result Sets.
- Join Issues
- Parallel Processing Issues.
- Shared Pool Abuse
- Resolving Shared Pool Abuse
- General Guidelines for Investigating Shared Pool Abuse.
- Chapter 10: Managing the Very Large Database
- Designing (or Retrofitting) a VLDB.
- Infinity Is So Imprecise…
- Partitioning
- Everything Is a Segment
- Data Manipulation with Partitioning
- Partition Pruning
- Partition Configuration
- Information Life Cycle Management
- Backup Optimization and Guaranteed Recovery
- Further Notes on Storage
- Limits of Which to Be Aware
- Database Block Size
- Number of Files in a Database
- Storage That Can Migrate.
- Parameter READ_ONLY_OPEN_DELAYED.
- Chapter 11: Statistics
- It Can’t Be Done!
- Subquery Anomaly.
- Partition Elimination
- Lack of Knowledge
- Problems with Statistics.
- Timing.
- Multinationals
- Partitioning
- Batch Jobs.
- Creating Statistics
- Other Stats
- Baseline.
- Chapter 12: Troubleshooting Latch Contention
- Latches and Why We Need Them
- Solitaire,Parent,and Child Latches
- Operational Specifics
- Immediate Mode.
- Willing-to-Wait Mode.
- Latch-Wait Posting Mode
- Identifying and Analyzing Latch Contention
- Step 1: Identify Latches Causing Contention
- Step 2: Review Distribution of Gets
- Step 3: Check the Code Path
- Cache Buffers Chains Latch Contention
- Common Causes of CBC Latch Contention
- Analyzing CBC Latch Contention.
- Resolving CBC Latch Contention
- Shared Pool Latch Contention
- Structures in the Shared Pool
- Common Causes of Shared Pool Latch Contention
- Analyzing Shared pool Latch Contention
- Resolving Shared Pool Latch Contention.
- Library Cache Latch Contention.
- Common Causes of Library Cache Latch Contention
- Analyzing Library Cache Latch Contention
- Library Cache Latches and Mutexes
- Resolving Library Cache Latch Contention
- Enqueue Hash Chains Latch Contention.
- Common Causes of Enqueue Hash Chains Latch Contention
- Analyzing Enqueue Hash Chains Latch Contention
- Resolving Enqueue Hash Chains Latch Contention
- Advanced Help for Latch Contention Problems
- The v$latch_parent View
- The spin_count Parameter
- The _latch_classes and _latch_class_N Parameters.
- The _latch_wait_posting and _enable_reliable_latch_waits Parameters
- Chapter 13: Measuring for Robust Performance
- Finding the Red Rocks
- Understanding the Properties of Performance
- Response Time Is Key
- Throughput Counts
- Meeting Expectations Matters.
- All Together Now.
- Tuning a Data Warehouse
- Initial Tuning.
- Repeating the Analysis
- Exploring What Variance Can Tell Us About a Process
- Distribution Analysis
- Distribution of Elapsed Time Data
- Variance.
- The Index of Dispersion
- What About Standard Deviation?.
- Elapsed Time Data Sources
- Achieving Robust Performance
- Designing an Experiment
- Using Instrumentation
- Measuring the Results
- Tolerance Ranges and Process Capability
- What is Too Much Variation?
- Measuring Variance Within Oracle Sample Sets
- Sampling from Samples
- Chapter 14: User Security.
- Securing User Accounts
- User Enumeration.
- Splitting the Task in Two
- Dealing with Oracle Database 10g and Prior.
- Feature Analysis
- Accounts That Can Definitely Be Removed
- Accounts That Definitely Have to Remain in the Database
- Accounts to Analyze Individually
- Reduction of Accounts
- Account Password Strength
- Cracking Passwords with a PL/SQL Password Cracker
- Cracking Passwords with a Real Password Cracker
- Fixing Weak Passwords
- Roles and Privilege Assessment.
- Have Accounts Been Used?.
- Have Accounts Been Shared?
- Password Management
- Audit Settings
- Quiz Answer
- Chapter 15: Securing Data.
- Identifying Key Data.
- Locating the Database Table
- Direct Table Privileges
- Understand the Hierarchy.
- Other Methods to Read Data
- Access to Access.
- Duplicating Data
- Generalizing Across the Database.
- Quiz Answer
- Index.