9 copyright © 2006, oracle. all rights reserved. automatic performance management

33
9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

Upload: emerson-haden

Post on 30-Mar-2015

224 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9Copyright © 2006, Oracle. All rights reserved.

Automatic Performance Management

Page 2: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-2 Copyright © 2006, Oracle. All rights reserved.

Objectives

After completing this lesson, you should be able to:

• Diagnose database performance issues

• Configure the Automatic Workload Repository

• Access the database advisors

• Use the SQL Access Advisor to improve database performance

• Use asynchronous COMMIT effectively

TuningStatisticsSGA Attach AWR AdvisorsAsync. Commit

Page 3: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-3 Copyright © 2006, Oracle. All rights reserved.

Tuning Activities

The three activities in performance management are:

• Performance planning

• Instance tuning

• SQL tuning

Page 4: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-4 Copyright © 2006, Oracle. All rights reserved.

Performance Planning

• Investment options

• System architecture

• Scalability

• Application design principles

• Workload testing, modeling, and implementation

• Deploying new applications

Page 5: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-6 Copyright © 2006, Oracle. All rights reserved.

Instance Tuning

• Have well-defined goals.

• Allocate memory to database structures.

• Consider I/O requirements in each part of the database.

• Tune the operating system for optimal performance of the database.

Page 6: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-7 Copyright © 2006, Oracle. All rights reserved.

Performance Tuning Methodology

The tuning steps:

• Tune from the top down. Tune:– The design before tuning the application code– The code before tuning the instance

• Tune the area with the greatest potential benefit.– Identify the longest waits.– Identify the largest service times.

• Stop tuning when the goal is met.

Page 7: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-8 Copyright © 2006, Oracle. All rights reserved.

Statistics Collection

• Performance tuning depends on the collection of accurate statistics.

• There are different types of statistics:– Optimizer statistics– System statistics

• There are different methods of collecting statistics:– Automatically, through GATHER_STATS_JOB– Manually, with the DBMS_STATS package– By setting database initialization parameters– By importing statistics from another database

Page 8: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-10 Copyright © 2006, Oracle. All rights reserved.

Oracle Wait Events

• A collection of wait events provides informationabout the sessions or processes that had to wait or must wait for different reasons.

• These events are listed in the V$EVENT_NAME view.

Tuning> Statistics

SGA Attach AWR AdvisorsAsync. Commit

Page 9: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-11 Copyright © 2006, Oracle. All rights reserved.

V$SGASTAT• pool• name• bytes

V$SYSSTAT• statistic# • name• class• value• stat_id

V$SYSTEM_EVENT• event• total_waits• total_timeouts• time_waited• average_wait• time_waited_micro

System Statistics

V$EVENT_NAME• event_number• event_id• name• parameter1 • parameter2 • parameter3• wait_class

V$SYSTEM_WAIT_CLASS• wait_class_id • wait_class#• wait_class• total_waits• time_waited

Page 10: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-13 Copyright © 2006, Oracle. All rights reserved.

Displaying Session-Related Statistics

V$STATNAME• statistic# • name • class

V$SESSTAT• sid• statistic#• value

V$SESSION• sid• serial#• username• command• osuser• seq#• event#• event• p1/2/3text• p1/2/3• p1/2/3raw• wait_class• wait_time• seconds_in_wait• state• ...

V$SESSION_EVENT• sid• event• total_waits• total_timeouts• time_waited• average_wait• max_wait• time_waited_micro• event_id

V$EVENT_NAME• event#• name• parameter1• parameter2 • parameter3

Page 11: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-14 Copyright © 2006, Oracle. All rights reserved.

Displaying Service-Related Statistics

For n-tier environments, because session statistics are not as helpful, you can see service-level statistics in these views:

• V$SERVICE_EVENT: Aggregated wait counts and wait times for each service, on a per event basis

• V$SERVICE_WAIT_CLASS: Aggregated wait counts and wait times for each service on a wait class basis

Page 12: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-15 Copyright © 2006, Oracle. All rights reserved.

Instance/DatabaseV$DATABASEV$INSTANCEV$PARAMETERV$SPPARAMETERV$SYSTEM_PARAMETERV$PROCESSV$BGPROCESSV$PX_PROCESS_SYSSTAT

V$SYSTEM_EVENT

Troubleshooting and Tuning Views

DiskV$DATAFILEV$FILESTATV$LOGV$LOG_HISTORYV$DBFILEV$TEMPFILEV$TEMPSEG_USAGEV$SEGMENT_STATISTICS

ContentionV$LOCKV$UNDOSTATV$WAITSTATV$LATCH

MemoryV$BUFFER_POOL_STATISTICSV$LIBRARYCACHEV$SGAINFOV$PGASTAT

Page 13: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-16 Copyright © 2006, Oracle. All rights reserved.

Dictionary Views

• The following dictionary and special views provide useful statistics after using the DBMS_STATS package:– DBA_TABLES, DBA_TAB_COLUMNS– DBA_CLUSTERS– DBA_INDEXES– DBA_TAB_HISTOGRAMS

• This statistical information is static until you reexecute the appropriate procedures in DBMS_STATS.

Page 14: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-17 Copyright © 2006, Oracle. All rights reserved.

Diagnosis of Hung or Extremely Slow Databases

Use for problem analysis when the database is performing very slowly, or is hung:

• Direct access to SGA for performance monitoring (memory access mode)– V$SESSION– V$SESSION_WAIT– V$SYSTEM_EVENT– V$SYSSTAT– Hang analysis using Enterprise Manager

TuningStatistics

> SGA Attach AWR AdvisorsAsync. Commit

Page 15: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-18 Copyright © 2006, Oracle. All rights reserved.

Using Memory Access Mode

1

23

4

Page 16: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-19 Copyright © 2006, Oracle. All rights reserved.

Using the Hang Analysis Page

Micro-window

Page 17: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-21 Copyright © 2006, Oracle. All rights reserved.

Automatic WorkloadRepository

SYSAUX

SGA

In-memorystatistics

6:00 a.m.7:00 a.m.

8:00 a.m.

Snapshot 1Snapshot 2Snapshot 3

Snapshot 49:00 a.m.

9:30 a.m.

ADDM finds top problems.MMON

TuningStatistics SGA Attach

> AWR AdvisorsAsync. Commit

Page 18: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-23 Copyright © 2006, Oracle. All rights reserved.

AWR Snapshot Baselines

DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE ( - start_snap_id IN NUMBER , end_snap_id IN NUMBER , baseline_name IN VARCHAR2);

Relevant periodin the past

Page 19: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-24 Copyright © 2006, Oracle. All rights reserved.

Advisory Framework:Overview

ADDM

SQL Tuning Advisor

SQL Access Advisor

Memory

Space

PGA Advisor

SGA

Segment Advisor

Undo Advisor

Buffer CacheAdvisor

Library CacheAdvisor

PGA

TuningStatistics SGA Attach AWR

> AdvisorsAsync. Commit

Page 20: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-26 Copyright © 2006, Oracle. All rights reserved.

Database Control and Advisors

Page 21: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-27 Copyright © 2006, Oracle. All rights reserved.

Typical Advisor Tuning Session

Adjust task parameters.

Acceptresults?

Implementrecommendations.

Yes

No

Perform analysis.

Create an advisor task.

Page 22: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-28 Copyright © 2006, Oracle. All rights reserved.

Manually Invoking ADDM

Page 23: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-29 Copyright © 2006, Oracle. All rights reserved.

Using the SQL Tuning Advisor: Review

• Use the SQL Tuning Advisor to analyze SQL statements and obtain performance recommendations.

• Sources for SQL Tuning Advisor to analyze:– Top SQL: Analyzes the top SQL statements

currently active– SQL Tuning Sets: Analyzes a set of SQL statements

you provide– Snapshots: Analyzes a snapshot– Baselines: Analyzes a baseline

Page 24: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-30 Copyright © 2006, Oracle. All rights reserved.

SQL Access Advisor: Overview

SQL Access

Advisor

Recommendations-Indexes-Materialized views-Materialized view logs

Workload specification-SQL statement-SQL Tuning Set-SQL cache contents-Statistics-Schema name

Page 25: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-31 Copyright © 2006, Oracle. All rights reserved.

Typical SQL Access Advisor Session

Page 26: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-32 Copyright © 2006, Oracle. All rights reserved.

Workload Source

Page 27: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-33 Copyright © 2006, Oracle. All rights reserved.

Recommendation Options

Page 28: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-34 Copyright © 2006, Oracle. All rights reserved.

Recommendation Options

Page 29: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-35 Copyright © 2006, Oracle. All rights reserved.

Reviewing Recommendations

Page 30: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-36 Copyright © 2006, Oracle. All rights reserved.

Asynchronous COMMIT

• The default COMMIT behavior is to wait until redo is saved in the redo log files.

• The default behavior can now be changed to “not wait.”

• Asynchronous COMMIT is useful for high transaction throughput.

• However, transactions may be lost.– Machine crashes– File I/O problems with redo log files

TuningStatistics SGA Attach AWR Advisors

> Async. Commit

Page 31: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-37 Copyright © 2006, Oracle. All rights reserved.

Using Asynchronous COMMIT

• Possible combinations:– IMMEDIATE, WAIT (this is the default)– IMMEDIATE, NOWAIT– BATCH, WAIT– BATCH, NOWAIT

• System- or session-level examples:

• COMMIT statement examples:

ALTER SYSTEM SET COMMIT_WRITE = IMMEDIATE, WAIT

ALTER SESSION SET COMMIT_WRITE = IMMEDIATE, NOWAIT

COMMIT WRITE BATCH WAIT

COMMIT WRITE BATCH NOWAIT

Page 32: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-38 Copyright © 2006, Oracle. All rights reserved.

Summary

In this lesson, you should have learned how to:

• Diagnose database performance issues

• Configure the Automatic Workload Repository

• Access the database advisors

• Use the SQL Access Advisor to improve database performance

• Use asynchronous COMMIT effectively

Page 33: 9 Copyright © 2006, Oracle. All rights reserved. Automatic Performance Management

9-39 Copyright © 2006, Oracle. All rights reserved.

Practice Overview: Using ADDM to Diagnose Performance Problems

This practice covers the following topics:

• Viewing and interpreting ADDM findings to diagnose a performance problem

• Implementing those findings