(NOTE:
Each chapter concludes with a Summary.)
Introduction. I. INSTANCE TUNING.
1. Tuning Fundamentals. Tuning Concepts.
What Is Tuning?
Do You Need to Tune?
When Have You Tuned Enough?
Tuning Goals.
Tuning for Throughput.
Tuning for Response Time.
Tuning for Large Numbers of Users.
Tuning for Fault Tolerance.
Tuning for Load Time.
Tuning Methodology.
Examine the Problem.
Determine the Problem.
Determine the Solution and Set Goals.
Test the Solution.
Analyze the Results.
What Affects Oracle Server Performance?
System Bottlenecks.
System Tuning.
System Limitations.
Sizing and Capacity Planning.
Sizing Versus Capacity Planning.
Sizing Steps.
Capacity Planning Steps.
2. Using the Oracle Configuration Parameters. Starting the Oracle Instance.
Connect to Oracle.
Using the STARTUP Command to Start the Instance.
Starting the Instance.
Troubleshooting the Instance Startup.
Stopping the Oracle Instance.
The Initialization Parameters.
Instance Tuning Parameters.
Resource Limiting Parameters.
3. Tuning the Oracle Instance. Initialization Parameters Used in This Chapter.
SGA Parameters.
Program Global Area and User Memory Parameters.
Undo Parameters.
Miscellaneous Parameters.
Tuning the SGA.
Tuning the Operating System.
Tuning the Private SQL and PL/SQL Areas.
Tuning the Shared Pool.
Tuning the Buffer Cache.
Managing Rollback Segments and Undo Information.
Tuning Undo in SMU Mode.
Tuning Undo in RBU Mode.
Summary of Undo Tuning.
Checking for Redo Log Buffer.
Redo Log Buffer Contention.
Tuning Checkpoints.
Optimizing Sorts.
Tuning the Sort Area.
Tuning the Sort Area Retained Size.
Tuning the Temporary Tablespace.
Minimizing Free List Contention.
4. Performance-Enhancing Features. Parameters That Are Used in This Chapter.
Indexes.
Index Concepts.
Index Types.
B*-Tree Indexes.
How the Oracle Bitmap Index Works.
What to Index.
How to Index.
Parallel Execution in Oracle.
Parallel Query Processing.
Parallel Index Creation.
Parallel Loading.
Parallel Recovery.
Clusters.
Hash Clusters.
When to Hash.
Multiblock Reads.
Partitioning.
Partitioning Concepts.
Range Partitioning.
List Partitioning.
Hash Partitioning.
Composite Partitioning.
Benefits of Partitioning.
Partitioning and Indexes.
Plan Stability.
Multithreaded Server.
Dedicated Server.
Multithreaded Server.
5. Tuning Workloads. Parameters Used in This Chapter.
Using Resource Consumer Groups.
Overview of Resource Consumer Groups.
Configuring Resource Consumer Groups.
Adding Users to the Plan.
Monitoring the Consumer Groups.
Tuning User Resources.
OLTP Systems.
Response Time.
Relocating Functions to Different Systems.
Distributing Historical Reports.
Distributing Online Reports.
Application Support for Distributed Systems.
6. The Oracle Performance Views. The V$ Views Versus the G$ Views.
Overview of the Dynamic Performance Views.
Using the Dynamic Performance Views.
Using Queries to Access the Dynamic Performance Views.
Using UTLBSTAT/UTLESTAT and Statspack.
Using Performance-Monitoring Tools.
7. Using UTLBSTAT and UTLESTAT. UTLBSTAT/UTLESTAT.
Running UTLBSTAT/UTLESTAT.
The UTLBSTAT/UTLESTAT Output File.
Interpreting BSTAT/ESTAT Statistics.
Statspack.
Installing Statpack.
Running Statspack.
Administering Statspack.
Statspack Results.
II. Oracle Hardware Topics.
8. Oracle and System Hardware. Parameters Used in This Chapter.
Overview of the Oracle Instance.
The Oracle Memory Structure.
Processes.
System Architecture Overview.
CPUs and Caches.
CPU Design.
32-Bit Versus 64-Bit Processors.
System Memory Architecture.
Bus Design.
I/O Bus.
Network.
To Cluster or Not to Cluster.
9. I/O Concepts. The Disk Drive.
Overview.
Disk Drive Performance.
RAID Disk Subsystems.
Hardware Versus Software RAID.
Striping.
RAID 0.
RAID 1.
RAID 10.
RAID 2.
RAID 3.
RAID 4.
RAID 5.
Parity Overview.
RAID Performance Overview.
RAID Controller Performance Features.
Elevator Sorting.
Controller Caches.
Hardware XOR Engines.
Stripe Size.
Internal Versus External RAID Systems.
Internal RAID Systems.
External RAID Systems.
SAN Systems.
Network Attached Storage (NAS) Systems.
10. Oracle and I/O. Parameters Used in This Chapter.
Oracle's Dependency on I/O.
Why Read Latency Is Important.
Write Latency.
Fault Tolerance.
Configuring the I/O Subsystem for Oracle.
Performance Versus Fault Tolerance Versus Cost.
Protecting Your Investment.
Tuning I/O.
Understanding Disk Contention.
Identifying Disk Contention Problems.
Solving Disk Contention Problems.
Reducing Unnecessary I/O Overhead.
Migrated and Chained Rows.
Dynamic Extensions.
PCTFREE and PCTUSED Command Options.
A Review of I/O Reduction Techniques.
Block Size.
Using Multiple Block Sizes.
Fragmentation.
III. Application and SQL Tuning.
11. Using EXPLAIN PLAN and SQL Trace. SQL Trace.
SQL Trace Initialization.
Controlling SQL Trace.
SQL Trace Functionality.
TKPROF Functionality.
Interpreting SQL Trace.
The EXPLAIN PLAN Command.
EXPLAIN PLAN Initialization.
Invoking EXPLAIN PLAN.
Extracting EXPLAIN PLAN Results.
Registering Applications.
12. Index Tuning. Parameters Used in This Chapter.
Index Types.
Using the B*-Tree Index.
What Should Be Indexed.
Maintaining the Index.
The Index Organized Table (IOT).
The Bitmap Index.
When to Use a Bitmap Index.
Function-Based Indexes.
Using Hints.
Monitoring and Analyzing Indexes.
ALTER INDEX MONITORING USAGE.
13. The Oracle Optimizer. Understanding the Optimizer.
How the Optimizer Works.
Optimizer Initialization Parameters.
Optimization Methods.
Using the DBMS_STATS Package.
Creating a Statistics Table.
Gathering Table Stats.
Deleting Statistics.
Restoring Statistics.
Other DBMS_STATS Package Functions.
Working with Statistics.
Using the ANALYZE Command.
How to Run the ANALYZE Command.
Data Dictionary Statistics.
Transaction Processing.
SQL Statement Processing.
Cursor Creation.
Statement Parsing.
Query Processing.
Bind Variables.
Statement Execution.
Parallelization.
Fetch Rows to Be Returned.
Analyzing SQL Statements.
Designing New SQL Statements.
Packages, Procedures, and Functions.
Using Hints.
14. Tuning SQL. Optimal SQL Statements.
How to Identify Poorly Tuned SQL Statements.
Join Types.
Nested Loops Join.
Merge Join.
Hash Join.
Tuning SQL Statements.
Tuning an Existing Application.
Designing a New Application.
15. Using Hints. Implementing Hints.
Hint Syntax.
Hint Errors.
Using Multiple Hints.
Hints.
Optimization Approaches.
Access Methods.
Join Orders.
Join Operations.
Parallel Query Hints.
Query Transformation.
Miscellaneous Hints.
IV. Advanced Topics.
16. Oracle9i Real Application Clusters. Overview of RAC.
Computer Systems.
Shared Disk Subsystem.
Server Interconnect.
Locking.
Cluster Configuration.
When to Use RAC.
Tuning RAC.
Configuration and Sizing.
Instance and Lock Tuning.
Application Tuning.
17. Tuning Backup and Recovery. Parameters Used in This Chapter.
Oracle Operational Review.
Backup Process.
Recovery Process.
Characteristics of the Oracle Backup Process.
Cold (Offline) Backup Using User-Managed Backups.
Hot (Online) Backup Using User-Managed Backups.
Hot (Online) Backup Using the RMAN Utility.
Hot (Online) Backup Using Storage Area Network Features.
Data Access Patterns During User-Managed Backups.
Data Access Patterns During RMAN Backups.
System Load During Backup.
Backup Goals.
System Design Considerations.
Cold Database Backup.
Hot Database Backup.
Tuning Considerations Using User-Managed Backups.
Tuning Considerations Using RMAN Backups.
The RMAN Buffers.
Asynchronous Versus Synchronous I/O.
RMAN Tuning Parameters.
Monitoring RMAN.
System Enhancements to Improve Backup Performance.
CPU Enhancements.
I/O Enhancements.
Network Enhancements.
Split Up the Backup.
Performance Verification.
What to Test in the RDBMS.
What to Test in the OS.
18. Creating a High-Performance Disaster Survival System. Parameters Used in This Chapter.
Why Plan for a Disaster?
Disaster Survival Concepts.
Remote Mirroring.
Oracle9i Data Guard.
Replication.
Planning for a Disaster.
Planning Steps.
Documentation.
Scenarios.
Recovering from a Disaster.
Tuning Standby Systems.
19. Oracle Networking Performance. Network Architecture.
Hardware Components.
Network Protocols.
Tuning the Network Components.
Software Tuning.
Oracle Tuning.
Network Design.
Bandwidth Considerations.
Segmenting the Network.
Bridges, Routers, and Hubs.
Index