手动管理AWR

来源:互联网 发布:less.js 有什么用 编辑:程序博客网 时间:2024/05/14 11:06
手动管理AWR
1. 修改快照的生成间隔时间和保存时间
exec dbms_workload_repository.modify_snapshot_settings(
retention=>20160,interval=>15);
把保存时间设置成14天,把生成间隔时间设置成15分钟。
2. 查看AWR的设置
select * from dba_hist_control;


SQL>SELECT * FROM DBA_hist_wr_control
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- ------------------------------ -------------------- ----------
1784119303 +00000 01:00:00.0 +00014 00:00:00.0 1000
3. 手动创建快照:
exec dbms_workload_repository.create_snapshot;
BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
END;
/


4. 使用视图dba_hist_snapshot查看快照的情况
SQL> col BEGIN_INTERVAL_TIME for a30
SQL> col END_INTERVAL_TIME for a30
SQL> select snap_id,begin_interval_time,end_interval_time from dba_hist_snapshot order by snap_id asc;
SNAP_ID BEGIN_INTERVAL_TIME END_INTERVAL_TIME
---------- ------------------------------ ------------------------------
642 13-JUN-10 08.49.09.385 AM 13-JUN-10 08.50.09.441 AM
643 13-JUN-10 08.50.09.441 AM 13-JUN-10 10.00.11.687 AM
644 13-JUN-10 10.00.11.687 AM 13-JUN-10 11.00.13.408 AM
645 13-JUN-10 11.00.13.408 AM 13-JUN-10 12.00.14.640 PM
646 13-JUN-10 12.00.14.640 PM 13-JUN-10 01.00.15.752 PM
647 13-JUN-10 01.00.15.752 PM 13-JUN-10 02.00.17.282 PM
648 13-JUN-10 02.00.17.282 PM 13-JUN-10 02.31.14.758 PM
5.需要手动删除快照,可以使用dbms_workload_repository.drop_snapshot_range过程
exec dbms_workload_repository.drop_snapshot(low_snap_id=>502,high_snap_id=>642);
6. 可用通过表dba_scheduler_jobs,dba_shceduler_wingroup_members,dba_scheduler_window
来查看AWR自动快照任务,这个任务是创建新的Oracle数据库时,自动创建并激活的。
SQL>
select a.job_name,a.enabled,c.window_name,
c.repeat_interval
from dba_scheduler_jobs a,dba_scheduler_wingroup_members b,
dba_scheduler_windows c
where job_name='GATHER_STATS_JOB'
and a.schedule_name=b.window_group_name
and b.window_name=c.window_name;
JOB_NAME ENABL WINDOW_NAME REPEAT_INTERVAL
------------------------------ ----- ------------------------------ ----------------------------------------
GATHER_STATS_JOB TRUE WEEKNIGHT_WINDOW freq=daily;byday=MON,TUE,WED,THU,FRI;byh
our=22;byminute=0; bysecond=0
GATHER_STATS_JOB TRUE WEEKEND_WINDOW freq=daily;byday=SAT;byhour=0;byminute=0
;bysecond=0
7. 停止或激活采集任务
可用使用SQL> exec dbms_scheduler.disable('GATHER_STATS_JOB');
程序停止这项任务。


可以使用SQL> exec dbms_scheduler.enable('GATHER_STATS_JOB');
激活这个任务。


8. AWR 快照报表(常用)
必须是DBA角色的用户才可执行报告脚本,有2个脚本:
$ORACLE_HOME/rdbms/admin/awrrpt.sql
$ORACLE_HOME/rdbms/admin/awrrpti.sql
两者的主要区别就是awrrpti.sql 允许为一个指定的实例或数据库创建一个指定的实例的
9. AWR基线
基线定义为一定范围内的快照,它可以用来与其他快照进行比较。Oralce数据库服务器也会自动删除例程范围中排除分配给特定基线的快照。
因此基线的主要目的是保护AWR仓库中典型的运行时统计数据,允许您随时的运行于保护的基本快照相关的AWR快照报表,并将它们与AWR中包含的
最近会快照进行比较。这允许您将当前的性能(和配置)与建立的基线性能进行比较,从而有助于确定数据库的性能问题。
9.1 创建基线:
SQL> exec dbms_workload_repository.create_baseline(start_snap_id=>642,end_snap_id=>648,baseline_name=>'EOM Baseline');
查看基线通过视图DBA_HIST_BASELINE
select * from dba_hist_baseline
DBID BASELINE_ID BASELINE_NAME START_SNAP_ID START_SNAP_TIME END_SNAP_ID END_SNAP_TIME
1784119303 1 EOM Baseline 642 13-6月 -10 08.50.09.441 上午 648 13-6月 -10 02.31.14.758 下午
9.2 删除基线:
exec dbms_workload_repository.drop_baseline(baseline_name=>'EOM Baseline',CASCADE=>false);
如果把CASCADE=>false设置成true,就会删除所有相关的快照;否则AWR自动进程就会自动清除这些快照。
相关的视图:
V$ACTIVE_SESSION_HISTORY
This view displays active database session activity, sampled once every second.
The DBA_HIST views contain historical data stored in the database. This group of views includes:
DBA_HIST_ACTIVE_SESS_HISTORY displays the history of the contents of the in-memory active session history for recent system activity.
DBA_HIST_BASELINE displays information about the baselines captured on the system
DBA_HIST_DATABASE_INSTANCE displays information about the database environment
DBA_HIST_SNAPSHOT displays information on snapshots in the system
DBA_HIST_SQL_PLAN displays the SQL execution plans
DBA_HIST_WR_CONTROL displays the settings for controlling AWR
原创粉丝点击