Skip Headers

Oracle® Database Performance Tuning Guide
10g Release 1 (10.1)

Part Number B10752-01
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page

Go to previous page
Go to next page
View PDF


This preface contains these topics:


Oracle Database Performance Tuning Guide is an aid for people responsible for the operation, maintenance, and performance of Oracle. This book describes detailed ways to enhance Oracle performance by writing and tuning SQL properly, using performance tools, and optimizing instance performance. It also explains how to create an initial database for good performance and includes performance-related reference information. This book could be useful for database administrators, application designers, and programmers.

For information on quick and easy monitoring and tuning of the Oracle database, read the Oracle Database 2 Day DBA manual.


This document contains:

"What's New in Oracle Performance?"

A summary of recent enhancements to Oracle Performance and updates to this book.

Part I, "Performance Tuning"

This part of the book provides an introduction and overview of performance tuning.

Chapter 1, "Performance Tuning Overview"

An introduction to performance tuning.

Part II, "Performance Planning"

This part of the book describes ways to improve Oracle performance by starting with good application design and using statistics to monitor application performance. It explains the Oracle Performance Improvement Method, as well as emergency performance techniques for dealing with performance problems.

Chapter 2, "Designing and Developing for Performance"

This chapter describes performance issues to consider when designing Oracle applications.

Chapter 3, "Performance Improvement Methods"

This chapter describes Oracle Performance Improvement Methods.

Part III, "Optimizing Instance Performance"

This part of the book describes how to create and configure a database for good performance. This section provides information about Oracle system-related performance tools and describes how to tune various elements of a database system to optimize performance of an Oracle instance.

Chapter 4, "Configuring a Database for Performance"

This chapter describes some of the performance considerations when designing a database, including considerations for shared servers, undo segments, and temporary tablespaces.

Chapter 5, "Automatic Performance Statistics"

Oracle provides a number of tools that allow a performance engineer to gather information regarding instance and database performance. This chapter discusses the importance of performance data gathering and describes the available Oracle features.

Chapter 6, "Automatic Performance Diagnostics"

Oracle provides a number of tools that allow a performance engineer to monitor and diagnose database performance. This chapter describes the available Oracle features and tools.

Chapter 7, "Memory Configuration and Use"

This chapter explains how to allocate memory to database structures.

Chapter 8, "I/O Configuration and Design"

This chapter introduces fundamental I/O concepts, discusses the I/O requirements of different parts of the database, and provides sample configurations for I/O subsystem design.

Chapter 9, "Understanding Operating System Resources"

This chapter explains how to tune the operating system for optimal performance of Oracle.

Chapter 10, "Instance Tuning Using Performance Views"

This chapter discusses the method used for performing tuning. It also describes Oracle statistics and wait events.

Chapter 11, "Tuning Networks"

This chapter describes different connection models and networking issues that affect tuning.

Part IV, "Optimizing SQL Statements"

This part of the book provides information to help understand and manage SQL statements and information about Oracle SQL-related performance tools.

Chapter 12, "SQL Tuning Overview"

This chapter provides an overview of SQL tuning.

Chapter 13, "Automatic SQL Tuning"

This chapter describes Oracle automatic SQL tuning features.

Chapter 14, "The Query Optimizer"

This chapter discusses SQL processing, Oracle optimization, and how the Oracle optimizer chooses how to execute SQL statements.

Chapter 15, "Managing Optimizer Statistics"

This chapter explains why statistics are important for the query optimizer and describes how to gather and use statistics.

Chapter 16, "Using Indexes and Clusters"

This chapter describes how to create indexes and clusters, and when to use them.

Chapter 17, "Optimizer Hints"

This chapter offers recommendations on how to use query optimizer hints to enhance Oracle performance.

Chapter 18, "Using Plan Stability"

This chapter describes how to use plan stability (stored outlines) to preserve performance characteristics.

Chapter 19, "Using EXPLAIN PLAN"

This chapter shows how to use the SQL statement EXPLAIN PLAN and format its output.

Chapter 20, "Using Application Tracing Tools"

This chapter describes the use of the SQL trace facility and TKPROF, two basic performance diagnostic tools that can help you monitor and tune applications that run against the Oracle Server.

Related Documentation

Before reading this manual, you should have already read Oracle Database Concepts, Oracle Database 2 Day DBA, Oracle Database Application Developer's Guide - Fundamentals, and the Oracle Database Administrator's Guide.

For more information about Oracle Enterprise Manager and its optional applications, see Oracle Enterprise Manager Concepts.

For more information about tuning data warehouse environments, see the Oracle Data Warehousing Guide.

Many of the examples in this book use the sample schemas of the seed database, which is installed by default when you install Oracle. Refer to Oracle Database Sample Schemas for information on how these schemas were created and how you can use them yourself.

For information about Oracle error messages, see Oracle Database Error Messages. Oracle error message documentation is only available in HTML. If you are accessing the error message documentation on the Oracle Documentation CD, you can browse the error messages by range. After you find the specific range, use your browser's find feature to locate the specific message. When connected to the Internet, you can search for a specific error message using the error message search feature of the Oracle online documentation.

Printed documentation is available for sale in the Oracle Store at

To download free release notes, installation documentation, white papers, or other collateral, please visit the Oracle Technology Network (OTN). You must register online before using OTN; registration is free and can be done at

If you already have a username and password for OTN, then you can go directly to the documentation section of the OTN Web site at


This section describes the conventions used in the text and code examples of the this documentation set. It describes:

Conventions in Text

We use various conventions in text to help you more quickly identify special terms. The following table describes those conventions and provides examples of their use.

Convention Meaning Example


Bold typeface indicates terms that are defined in the text or terms that appear in a glossary, or both.

When you specify this clause, you create an index-organized table.


Italic typeface indicates book titles, emphasis, syntax clauses, or placeholders.

Oracle Database Concepts

You can specify the parallel_clause.

Run Uold_release.SQL where old_release refers to the release you installed prior to upgrading.

UPPERCASE monospace (fixed-width font)

Uppercase monospace typeface indicates elements supplied by the system. Such elements include parameters, privileges, datatypes, RMAN keywords, SQL keywords, SQL*Plus or utility commands, packages and methods, as well as system-supplied column names, database objects and structures, user names, and roles.

You can specify this clause only for a NUMBER column.

You can back up the database using the BACKUP command.

Query the TABLE_NAME column in the USER_TABLES data dictionary view.

Specify the ROLLBACK_SEGMENTS parameter.


lowercase monospace (fixed-width font)

Lowercase monospace typeface indicates executables and sample user-supplied elements. Such elements include computer and database names, net service names, and connect identifiers, as well as user-supplied database objects and structures, column names, packages and classes, user names and roles, program units, and parameter values.

Enter sqlplus to open SQL*Plus.

The department_id, department_name, and location_id columns are in the hr.departments table.

Set the QUERY_REWRITE_ENABLED initialization parameter to true.

Connect as oe user.

Conventions in Code Examples

Code examples illustrate SQL, PL/SQL, SQL*Plus, or other command-line statements. They are displayed in a monospace (fixed-width) font and separated from normal text as shown in this example:

SELECT username FROM dba_users WHERE username = 'MIGRATE';

The following table describes typographic conventions used in code examples and provides examples of their use.

Convention Meaning Example

[ ]

Brackets enclose one or more optional items. Do not enter the brackets.

DECIMAL (digits [ , precision ])

{ }

Braces enclose two or more items, one of which is required. Do not enter the braces.



A vertical bar represents a choice of two or more options within brackets or braces. Enter one of the options. Do not enter the vertical bar.




Horizontal ellipsis points indicate either:

  • That we have omitted parts of the code that are not directly related to the example
  • That you can repeat a portion of the code

CREATE TABLE ... AS subquery;

SELECT col1, col2, ... , coln FROM employees;


Vertical ellipsis points indicate that we have omitted several lines of code not directly related to the example.

9 rows selected.

Other notation

You must enter symbols other than brackets, braces, vertical bars, and ellipsis points as shown.

acctbal NUMBER(11,2);

acct CONSTANT NUMBER(4) := 3;


Italicized text indicates placeholders or variables for which you must supply particular values.

CONNECT SYSTEM/system_password

DB_NAME = database_name


Uppercase typeface indicates elements supplied by the system. We show these terms in uppercase in order to distinguish them from terms you define. Unless terms appear in brackets, enter them in the order with the spelling shown. However, because these terms are not case sensitive, you can enter them in lowercase.

SELECT last_name, employee_id FROM employees;


DROP TABLE hr.employees;


Lowercase typeface indicates programmatic elements that you supply. For example, lowercase indicates names of tables, columns, or files.

Note: Some programmatic elements use a mixture of UPPERCASE and lowercase. Enter these elements as shown.

SELECT last_name, employee_id FROM employees;

sqlplus hr/my_hr_password


Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For additional information, visit the Oracle Accessibility Program Web site at
Accessibility of Code Examples in Documentation

JAWS, a Windows screen reader, may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, JAWS may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.