Oracle database 11g performance tuning recipes : a problem-solution approach /
Performance problems are rarely "problems" per se. They are more often "crises" during which you're pressured for results by a manager standing outside your cubicle while your phone rings with queries from the help desk. You won't have the time for a leisurely perusal o...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Otros Autores: | , , |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
[Berkeley, CA] :
Apress,
©2011.
|
Colección: | Expert's voice in Oracle.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Machine generated contents note: ch. 1 Optimizing Table Performance
- 1-1. Building a Database That Maximizes Performance
- 1-2. Creating Tablespaces to Maximize Performance
- 1-3. Matching Table Types to Business Requirements
- 1-4. Choosing Table Features for Performance
- 1-5. Avoiding Extent Allocation Delays When Creating Tables
- 1-6. Maximizing Data Loading Speeds
- 1-7. Efficiently Removing Table Data
- 1-8. Displaying Automated Segment Advisor Advice
- 1-9. Manually Generating Segment Advisor Advice
- 1-10. Automatically E-mailing Segment Advisor Output
- 1-11. Rebuilding Rows Spanning Multiple Blocks
- 1-12. Freeing Unused Table Space
- 1-13.Compressing Data for Direct Path Loading
- 1-14.Compressing Data for All DML
- 1-15.Compressing Data at the Column Level
- 1-16. Monitoring Table Usage
- ch. 2 Choosing and Optimizing Indexes
- 2-1. Understanding B-tree Indexes
- 2-2. Deciding Which Columns to Index
- 2-3. Creating a Primary Key Index.
- Note continued: 2-4. Creating a Unique Index
- 2-5. Indexing Foreign Key Columns
- 2-6. Deciding When to Use a Concatenated Index
- 2-7. Reducing Index Size Through Compression
- 2-8. Implementing a Function-Based Index
- 2-9. Indexing a Virtual Column
- 2-10. Avoiding Concentrated I/O for Index
- 2-11. Adding an Index Without Impacting Existing Applications
- 2-12. Creating a Bitmap Index in Support of a Star Schema
- 2-13. Creating a Bitmap Join Index
- 2-14. Creating an Index-Organized Table
- 2-15. Monitoring Index Usage
- 2-16. Maximizing Index Creation Speed
- 2-17. Reclaiming Unused Index Space
- ch. 3 Optimizing Instance Memory
- 3-1. Automating Memory Management
- 3-2. Managing Multiple Buffer Pools
- 3-3. Setting Minimum Values for Memory
- 3-4. Monitoring Memory Resizing Operations
- 3-5. Optimizing Memory Usage
- 3-6. Tuning PGA Memory Allocation
- 3-7. Configuring the Server Query Cache
- 3-8. Managing the Server Result Cache.
- Note continued: 3-9. Caching SQL Query Results
- 3-10. Caching Client Result Sets
- 3-11. Caching PL/SQL Function Results
- 3-12. Configuring the Oracle Database Smart Flash Cache
- 3-13. Tuning the Redo Log Buffer
- ch. 4 Monitoring System Performance
- 4-1. Implementing Automatic Workload Repository (AWR)
- 4-2. Modifying the Statistics Interval and Retention Periods
- 4-3. Generating an AWR Report Manually
- 4-4. Generating an AWR Report via Enterprise Manager
- 4-5. Generating an AWR Report for a Single SQL Statement
- 4-6. Creating a Statistical Baseline for Your Database
- 4-7. Managing AWR Baselines via Enterprise Manager
- 4-8. Managing AWR Statistics Repository
- 4-9. Creating AWR Baselines Automatically
- 4-10. Quickly Analyzing AWR Output
- 4-11. Manually Getting Active Session Information
- 4-12. Getting ASH Information from Enterprise Manager
- 4-13. Getting ASH Information from the Data Dictionary
- ch. 5 Minimizing System Contention.
- Note continued: 5-1. Understanding Response Time
- 5-2. Identifying SQL Statements with the Most Waits
- 5-3. Analyzing Wait Events
- 5-4. Understanding Wait Class Events
- 5-5. Examining Session Waits
- 5-6. Examining Wait Events by Class
- 5-7. Resolving Buffer Busy Waits
- 5-8. Resolving Log File Sync Waits
- 5-9. Minimizing read by other session Wait Events
- 5-10. Reducing Direct Path Read Wait Events
- 5-11. Minimizing Recovery Writer Waits
- 5-12. Finding Out Who's Holding a Blocking Lock
- 5-13. Identifying Blocked and Blocking Sessions
- 5-14. Dealing with a Blocking Lock
- 5-15. Identifying a Locked Object
- 5-16. Resolving enq: TM Lock Contention
- 5-17. Identifying Recently Locked Sessions
- 5-18. Analyzing Recent Wait Events in a Database
- 5-19. Identifying Time Spent Waiting Due to Locking
- 5-20. Minimizing Latch Contention
- 5-21. Managing Locks from Oracle Enterprise Manager
- 5-22. Analyzing Waits from Oracle Enterprise Manager.
- Note continued: ch. 6 Analyzing Operating System Performance
- 6-1. Detecting Disk Space Issues
- 6-2. Identifying System Bottlenecks (vmstat)
- 6-3. Identifying System Bottlenecks (Solaris)
- 6-4. Identifying Top Server-Consuming Resources (top)
- 6-5. Identifying CPU and Memory Bottlenecks (ps)
- 6-6. Identifying I/O Bottlenecks
- 6-7. Identifying Network-Intensive Processes
- 6-8. Troubleshooting Database Network Connectivity
- 6-9. Mapping a Resource-Intensive Process to a Database Process
- 6-10. Terminating a Resource-Intensive Process
- ch. 7 Troubleshooting the Database
- 7-1. Determining the Optimal Undo Retention Period
- 7-2. Finding What's Consuming the Most Undo
- 7-3. Resolving an ORA-01555 Error
- 7-4. Monitoring Temporary Tablespace Usage
- 7-5. Identifying Who Is Using the Temporary Tablespace
- 7-6. Resolving the "Unable to Extend Temp Segment" Error
- 7-7. Resolving Open Cursor Errors
- 7-8. Resolving a Hung Database.
- Note continued: 7-9. Invoking the Automatic Diagnostic Repository Command Interpreter
- 7-10. Viewing an Alert Log from ADRCI
- 7-11. Viewing Incidents with ADRCI
- 7-12. Packaging Incidents for Oracle Support
- 7-13. Running a Database Health Check
- 7-14. Creating a SQL Test Case
- 7-15. Generating an AWR Report
- 7-16.Comparing Database Performance Between Two Periods
- 7-17. Analyzing an AWR Report
- ch. 8 Creating Efficient SQL
- 8-1. Retrieving All Rows from a Table
- 8-2. Retrieve a Subset of Rows from a Table
- 8-3. Joining Tables with Corresponding Rows
- 8-4. Joining Tables When Corresponding Rows May Be Missing
- 8-5. Constructing Simple Subqueries
- 8-6. Constructing Correlated Subqueries
- 8-7.Comparing Two Tables to Finding Missing Rows
- 8-8.Comparing Two Tables to Finding Matching Rows
- 8-9.Combining Results from Similar SELECT Statements
- 8-10. Searching for a Range of Values
- 8-11. Handling Null Values.
- Note continued: 8-12. Searching for Partial Column Values
- 8-13. Re-using SQL Statements Within the Shared Pool
- 8-14. Avoiding Accidental Full Table Scans
- 8-15. Creating Efficient Temporary Views
- 8-16. Avoiding the NOT Clause
- 8-17. Controlling Transaction Sizes
- ch. 9 Manually Tuning SQL
- 9-1. Displaying an Execution Plan for a Query
- 9-2. Customizing Execution Plan Output
- 9-3. Graphically Displaying an Execution Plan
- 9-4. Reading an Execution Plan
- 9-5. Monitoring Long-Running SQL Statements
- 9-6. Identifying Resource-Consuming SQL Statements That Are Currently Executing
- 9-7. Seeing Execution Statistics for Currently Running SQL
- 9-8. Monitoring Progress of a SQL Execution Plan
- 9-9. Identifying Resource-Consuming SQL Statements That Have Executed in the Past
- 9-10.Comparing SQL Performance After a System Change
- ch. 10 Tracing SQL Execution
- 10-1. Preparing Your Environment
- 10-2. Tracing a Specific SQL Statement.
- Note continued: 10.3. Enabling Tracing in Your Own Session
- 10-4. Finding the Trace Files
- 10-5. Examining a Raw SQL Trace File
- 10-6. Analyzing Oracle Trace Files
- 10-7. Formatting Trace Files with TKPROF
- 10-8. Analyzing TKPROF Output
- 10-9. Analyzing Trace Files with Oracle Trace Analyzer
- 10-10. Tracing a Parallel Query
- 10-11. Tracing Specific Parallel Query Processes
- 10-12. Tracing Parallel Queries in a RAC System
- 10-13. Consolidating Multiple Trace Files
- 10-14. Finding the Correct Session for Tracing
- 10-15. Tracing a SQL Session
- 10-16. Tracing a Session by Process ID
- 10-17. Tracing Multiple Sessions
- 10-18. Tracing an Instance or a Database
- 10-19. Generating an Event 10046 Trace for a Session
- 10-20. Generating an Event 10046 Trace for an Instance
- 10-21. Setting a Trace in a Running Session
- 10-22. Enabling Tracing in a Session After a Login
- 10-23. Tracing the Optimizer's Execution Path.
- Note continued: 10-24. Generating Automatic Oracle Error Traces
- 10-25. Tracing a Background Process
- 10-26. Enabling Oracle Listener Tracing
- 10-27. Setting Archive Tracing for Data Guard
- ch. 11 Automated SQL Tuning
- 11-1. Displaying Automatic SQL Tuning Job Details
- 11-2. Displaying Automatic SQL Tuning Advice
- 11-3. Generating a SQL Script to Implement Automatic Tuning Advice
- 11-4. Modifying Automatic SQL Tuning Features
- 11-5. Disabling and Enabling Automatic SQL Tuning
- 11-6. Modifying Maintenance Window Attributes
- 11-7. Creating a SQL Tuning Set Object
- 11-8. Viewing Resource-Intensive SQL in the AWR
- 11-9. Viewing Resource-Intensive SQL in Memory
- 11-10. Populating SQL Tuning Set from High-Resource SQL in AWR
- 11-11. Populating a SQL Tuning Set from Resource-Consuming SQL in Memory
- 11-12. Populating SQL Tuning Set with All SQL in Memory
- 11-13. Displaying the Contents of a SQL Tuning Set.
- Note continued: 11-14. Selectively Deleting Statements from a SQL Tuning Set
- 11-15. Transporting a SQL Tuning Set
- 11-16. Creating a Tuning Task
- 11-17. Manually Running SQL Tuning Advisor
- 11-18. Getting SQL Tuning Advice from the Automatic Database Diagnostic Monitor
- ch. 12 Execution Plan Optimization and Consistency
- 12-1. Creating and Accepting a SQL Profile
- 12-2. Automatically Accepting SQL Profiles
- 12-3. Displaying SQL Profile Information
- 12-4. Disabling a SQL Profile
- 12-5. Dropping a SQL Profile
- 12-6. Moving a SQL Profile
- 12-7. Automatically Adding Plan Baselines
- 12-8. Creating a Plan Baseline for One SQL Statement
- 12-9. Creating Plan Baselines for SQL Contained in SQL Tuning Set
- 12-10. Altering a Plan Baseline
- 12-11. Determining If Plan Baselines Exist
- 12-12. Displaying Plan Baseline Execution Plans
- 12-13. Adding a New Plan to Plan Baseline (Evolving)
- 12-14. Disabling Plan Baselines
- 12-15. Removing Plan Baseline Information.
- Note continued: 12-16. Transporting Plan Baselines
- ch. 13 Configuring the Optimizer
- 13-1. Choosing an Optimizer Goal
- 13-2. Enabling Automatic Statistics Gathering
- 13-3. Setting Preferences for Statistics Collection
- 13-4. Manually Generating Statistics
- 13-5. Locking Statistics
- 13-6. Handling Missing Statistics
- 13-7. Exporting Statistics
- 13-8. Restoring Previous Versions of Statistics
- 13-9. Gathering System Statistics
- 13-10. Validating New Statistics
- 13-11. Forcing the Optimizer to Use an Index
- 13-12. Enabling Query Optimizer Features
- 13-13. Keeping the Database from Creating Histograms
- 13-14. Improving Performance When Not Using Bind Variables
- 13-15. Understanding Adaptive Cursor Sharing
- 13-16. Creating Statistics on Expressions
- 13-17. Creating Statistics for Related Columns
- 13-18. Automatically Creating Column Groups
- 13-19. Maintaining Statistics on Partitioned Tables
- 13-20. Concurrent Statistics Collection for Large Tables.
- Note continued: ch. 14 Implementing Query Hints
- 14-1. Writing a Hint
- 14-2. Changing the Access Path
- 14-3. Changing the Join Order
- 14-4. Changing the Join Method
- 14-5. Changing the Optimizer Version
- 14-6. Choosing Between a Fast Response and Overall Optimization
- 14-7. Performing a Direct-Path Insert
- 14-8. Placing Hints in Views
- 14-9. Caching Query Results
- 14-10. Directing a Distributed Query to a Specific Database
- 14-11. Gathering Extended Query Execution Statistics
- 14-12. Enabling Query Rewrite
- 14-13. Improving Star Schema Query Performance
- ch. 15 Executing SQL in Parallel
- 15-1. Enabling Parallelism for a Specific Query
- 15-2. Enabling Parallelism at Object Creation
- 15-3. Enabling Parallelism for an Existing Object
- 15-4. Implementing Parallel DML
- 15-5. Creating Tables in Parallel
- 15-6. Creating Indexes in Parallel
- 15-7. Rebuilding Indexes in Parallel
- 15-8. Moving Partitions in Parallel.
- Note continued: 15-9. Splitting Partitions in Parallel
- 15-10. Enabling Automatic Degree of Parallelism
- 15-11. Examining Parallel Explain Plans
- 15-12. Monitoring Parallel Operations
- 15-13. Finding Bottlenecks in Parallel Processes
- 15-14. Getting Detailed Information on Parallel Sessions.