Vous êtes sur la page 1sur 2

AWR Report

The AWR collects and stores database statistics relating to problem


detection and tuning. AWR is a replacement for the statspack utility which
helps gather database performance statistics. AWR generates snapshots
of key performance data, such as system and session statistics, segmentusage statistics, time-model statistics, high-load statistics and stores it in
the sysaux tablespace.
AWR provides statistics in two formats

temporary - in memory collection of statistics in the SGA, accessible


via the V$ views

persistent - type of performance data in the form of regular AWR


snapshots which you access via the DBA_ views
The MMON process is responsible for collecting the statistics in the SGA
and saving them to the sysaux tablespaces.
AWR will collect data on the following

Base statistics that are also part of


the v$SYSSTAT and V$SESSTAT views

SQL statistics

Database object-usage statistics

Time-model statistics

Wait statistics

ASH (active session history) statistics

Operating system statistics


Tables that AWR uses to collect statistics
v$sys_time_model

time model stats (db time, java execution time, pl/sql execution time, etc)

v$osstat

operating system stats (avg_busy_ticks, avg_idle_ticks, etc)

v$service_stats

wait statistics ( db cpu, app wait time, user commits, etc)

v$sysstat

system stats

v$sesstat

session stats

Database performance stats fall into one of three categories:

Cumulative values - collect stats over a period of time from the


v$sysstat, etc

Metrics - use the collected stats to make some sort of sense.

Sampled data - the ASH sampler is used to collect these stats.


AWR Setup
To active the AWR change the system parameter statistics_level to one of
three values

basic - this option disables the AWR

typical (default) - activates standard level of collection

all - same as typical but includes execution plans and timing info
from the O/S

Active

alter system set statistics_level = typical;


alter system set statistics_level = all;

De-active

alter system set statistics_level = basic;

Display

show parameter statistics_level;

To change the snapshot interval and how many days the snapshots are
kept you use the package dbms_workload_repository or Enterprise
Manager
Snapshot configuration
Change snapshotting values

exec dbms_workload_repository.modify_snapshot_settings ( interval => 60, retention => 43200);


interval = minutes
retention = seconds

Display values

select * from dba_hist_wr_control;

Snapshot Management
Create a snapshot

exec dbms_workload_repository.create_snapshot;

Delete snapshots

exec dbms_workload_repository.drop_snapshot_range (low_snap_id => 1077, high_snap_id =>


1078);

Create a baseline

exec dbms_workload_repository.create_baseline (start_snap_id => 1070, end_snap_id => 1078,


baseline_name => 'Normal Baseline');

Delete a baseline

exec dbms_workload_repository.drop_baseline (baseline_name => 'Normal Baseline', cascade =>


FALSE);

Display snapshots

select snap_id, begin_interval_time, end_interval_time from dba_hist_snapshot order by 1;

View the repository tables

select table_name from dba_tables where tablespace_name = SYSAUX and substr(table_name,


1,2) = WR and rownum <= 20 order by 1;

Useful Views
dba_hist_active_sess_history ASH info (see below)
dba_hist_baseline

baseline info

dba_hist_database_instance

environment data

dba_hist_sql_plan

sql execution path data

dba_hist_wr_control

AWR settings

dba_hist_snapshot

snapshot info in the AWR

AWR Report
To run AWR report you can use the following operating system scripts or
use Enterprise Manager.
awrrpt.sql

the script will ask for begin snapshot and end snapshot and will be generated in text
format
Note: reports went in $oracle_home\db_1\bin

awrrpti.sql

the script will ask for begin snapshot and end snapshot and will be generated in HTML
format
Note: reports went in $oracle_home\db_1\bin