Oracle8i Tuning
Release 8.1.5






Prev Next


You can enhance Oracle performance by adjusting database applications, the database, and the operating system. Making such adjustments is known as "tuning". Proper tuning of Oracle provides the best possible database performance for your specific application and hardware configuration.

Note: Oracle8i Tuning contains information describing the features and functionality of the Oracle8i and the Oracle8i Enterprise Edition products. Oracle8i and Oracle8i Enterprise Edition have the same basic features. However, several advanced features are available only with the Enterprise Edition, and some of these are optional. For example, to use application failover, you must have the Enterprise Edition and the Parallel Server option.

For information about the differences between Oracle8i and the Oracle8i Enterprise Edition and the available features and options, please refer to Getting to Know Oracle8i.

Intended Audience

This manual is an aid for people responsible for the operation, maintenance, and performance of Oracle. To use this book, you could be a database administrator, application designer, or programmer. You should be familiar with Oracle8i, the operating system, and application design before reading this manual.

How This Book is Organized

This book has six parts. The book begins by describing tuning and explaining tuning methods. Part Two describes how system designers and programmers plan for performance. Part Three describes design tools for designers and DBAs. Part Four explains how to optimize performance during production. Part Five describes parallel execution tuning and processing. Part Six describes how to use and optimize Materialized Views. The contents of the six parts of this manual are:

Part One: Introduction to Tuning

Chapter 1, "Introduction to Oracle Performance Tuning"  

This chapter provides an overview of tuning issues. It defines performance tuning and the roles of people involved in the process.  

Chapter 2, "Performance Tuning Methods"  

This chapter presents the recommended tuning method, and outlines its steps in order of priority.  

Part Two: Application Design Tuning for Designers and Programmers

Chapter 3, "Application and System Performance Characteristics"  

This chapter describes the various types of application that use Oracle databases and the suggested approaches and features available when designing each.  

Chapter 4, "Tuning Database Operations"  

This chapter explains the fundamentals of tuning database operations.  

Chapter 5, "Registering Applications"  

This chapter describes how to register an application with the database and retrieve statistics on each registered module or code segment.  

Chapter 6, "Data Access Methods"  

This chapter provides an overview of data access methods that can enhance performance, and warns of situations to avoid.  

Chapter 7, "Optimizer Modes, Plan Stability, and Hints"  

This chapter explains when to use the available optimization modes and how to use hints to enhance Oracle performance.  

Chapter 8, "Tuning Distributed Queries"  

This chapter provides guidelines for tuning distributed queries.  

Chapter 9, "Transaction Modes"  

This chapter describes the different methods in which read consistency is performed.  

Part Three: Application Design Tools for Designers and DBAs

Chapter 10, "Managing SQL and Shared PL/SQL Areas"  

This chapter explains the use of shared SQL to improve performance.  

Chapter 11, "Optimizing Data Warehouse Applications"  

This chapter introduces integrated Oracle8i features for tuning enterprise-scale data warehouses.  

Chapter 12, "Overview of Diagnostic Tools"  

This chapter introduces the full range of diagnostic tools available for monitoring production systems and determining performance problems.  

Chapter 13, "Using EXPLAIN PLAN"  

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

Chapter 14, "The SQL Trace Facility and TKPROF"  

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.  

Chapter 15, "Using Oracle Trace"  

This chapter provides an overview of Oracle Trace usage and describes the Oracle Trace initialization parameters.  

Chapter 16, "Dynamic Performance Views"  

This chapter describes views that are of the greatest use for both performance tuning and ad hoc investigation  

Part Four: Optimizing Oracle Instance Performance

Chapter 17, "Diagnosing System Performance Problems"  

This chapter provides an overview of performance factors in existing systems that have been properly designed.  

Chapter 18, "Tuning CPU Resources"  

This chapter describes how to identify and solve problems with CPU resources.  

Chapter 19, "Tuning Memory Allocation"  

This chapter explains how to allocate memory to database structures. Proper sizing of these structures can greatly improve database performance.  

Chapter 20, "Tuning I/O"  

This chapter explains how to avoid I/O bottlenecks that could prevent Oracle from performing at its maximum potential.  

Chapter 21, "Tuning Resource Contention"  

This chapter explains how to detect and reduce contention that affects performance.  

Chapter 22, "Tuning Networks"  

This chapter introduces networking issues that affect tuning, and points to the use of array interfaces, out-of-band breaks, and other tuning techniques.  

Chapter 23, "Tuning the Multi-Threaded Server Architecture"  

This chapter explains how to tune the components of the Multi-threaded Server architecture.  

Chapter 24, "Tuning the Operating System"  

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

Chapter 25, "Tuning Instance Recovery Performance"  

This chapter explains how to tune recovery performance.  

Part Five: Parallel Execution

Chapter 26, "Tuning Parallel Execution"  

This chapter explains how to use and tune parallel execution features for improved performance. It also describes how to optimize partitioning.  

Chapter 27, "Understanding Parallel Execution Performance Issues"  

This chapter provides a conceptual explanation of parallel execution performance issues and explains how to diagnose and solve parallel execution performance problems.  

Part Six: Materialized Views

Chapter 28, "Data Warehousing with Materialized Views"  

This chapter discusses data warehousing and how to use materialized views to optimize data warehouse operations.  

Chapter 29, "Materialized Views"  

This chapter provides a general overview of materialized views.  

Chapter 30, "Dimensions"  

This chapter describes optimizing dimensions within materialized views.  

Chapter 31, "Query Rewrite"  

This chapter describes how to use query rewrites to optimize your use of materialized views.  

Chapter 32, "Managing Materialized Views"  

This chapter explains how to manage materialized views.  

Related Documents

Before reading this manual, you should have already read Oracle8i Concepts, the Oracle8i Application Developer's Guide - Fundamentals, and the Oracle8i Administrator's Guide.

For more information about Oracle Enterprise Manager and its optional applications, please see the following publications:

Oracle Enterprise Manager Concepts Guide

Oracle Enterprise Manager Administrator's Guide

Oracle Enterprise Manager Application Developer's Guide

Oracle Enterprise Manager: Introducing Oracle Expert

Oracle Enterprise Manager: Oracle Expert User's Guide

Oracle Enterprise Manager Performance Monitoring User's Guide. This manual describes how to use Oracle TopSessions, Oracle Monitor, and Oracle Tablespace Manager.


This section explains the conventions used in this manual including the following:


This section explains the conventions used within the text:

UPPERCASE Characters

Uppercase text is used to call attention to command keywords, object names, parameters, filenames, and so on.

For example, "If you create a private rollback segment, the name must be included in the ROLLBACK_SEGMENTS parameter of the parameter file".

Italicized Characters

Italicized words within text are book titles or emphasized words.

Syntax Diagrams and Notation

The syntax diagrams and notation in this manual show the syntax for SQL statements, functions, hints, and other elements. This section tells you how to read syntax diagrams and examples and write SQL statements based on them.


Keywords are words that have special meanings in the SQL language. In the syntax diagrams in this manual, keywords appear in uppercase. You must use keywords in your SQL statements exactly as they appear in the syntax diagram, except that they can be either uppercase or lowercase. For example, you must use the CREATE keyword to begin your CREATE TABLE statements just as it appears in the CREATE TABLE syntax diagram.


Parameters act as place holders in syntax diagrams. They appear in lowercase. Parameters are usually names of database objects, Oracle datatype names, or expressions. When you see a parameter in a syntax diagram, substitute an object or expression of the appropriate type in your SQL statement. For example, to write a CREATE TABLE statement, use the name of the table you want to create, such as EMP, in place of the table parameter in the syntax diagram. (Note that parameter names appear in italics in the text.)

This list shows parameters that appear in the syntax diagrams in this manual and examples of the values you might substitute for them in your statements:

Parameter   Description   Examples  


The substitution value must be the name of an object of the type specified by the parameter.  



The substitution value must be a character literal in single quotes.  

'Employee Records'  


The substitution value must be a condition that evaluates to TRUE or FALSE.  

ename > 'A'  


The substitution value must be a date constant or an expression of DATE datatype.  





The substitution value can be an expression of any datatype.  

sal + 1000  


The substitution value must be an integer.  



The substitution value must be an expression of datatype ROWID.  



The substitution value must be a SELECT statement contained in another SQL statement.  

SELECT ename

FROM emp  



The substitution value must be an identifier for a SQL statement or PL/SQL block.  



Code Examples

SQL and SQL*Plus commands and statements appear separated from the text of paragraphs in a monospaced font. For example:

   INSERT INTO emp (empno, ename) VALUES (1000, 'SMITH'); 
   ALTER TABLESPACE users ADD DATAFILE 'users2.ora' SIZE 50K; 

Example statements may include punctuation, such as commas or quotation marks. All punctuation in example statements is required. All example statements terminate with a semicolon (;). Depending on the application, a semicolon or other terminator may or may not be required to end a statement.

Uppercase words in example statements indicate the keywords within Oracle SQL. When you issue statements, however, keywords are not case sensitive.

Lowercase words in example statements indicate words supplied only for the context of the example. For example, lowercase words may indicate the name of a table, column, or file.


Copyright © 1999 Oracle Corporation.

All Rights Reserved.