/********************************************************************************************/
--1.配置awr一瞥
BEGIN
dbms_workload_repository.modify_snapshot_settings(RETENTION => 11520, --保留周期 - 分钟
INTERVAL => 60, --采样间隔 - 分钟
topnsql => 'DEFAULT', --top N sql
dbid => 1785327999);
END;
/
--查看配置信息
SELECT * FROM dba_hist_wr_control;
/*
DBID SNAP_INTERVAL RETENTION TOPNSQL
1785327999 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT
*/
/********************************************************************************************/
--2.baseline在11g中新特性
_________________________________________________________________________
1): baseline的作用
创建baseline只记录了baseline所指定的快照ID,当维护awr的mmon进程在清除过期的快照时,
在baseline中的快照则不会被删除,除非到达当初创建时指定的expiration时间;当数据库做了
一段时间的调优后,awr可以用baseline保留的快照与当前系统的awr报比进行对比,对此你在准
备着手调整一个数据库实例前,应该手动创建一个baseline。
_________________________________________________________________________
2): 手动创建与删除baseline
--创建baseline
BEGIN
dbms_workload_repository.create_baseline(start_snap_id => 148,
end_snap_id => 149,
baseline_name => 'test_perf',
dbid => 1785327999,
expiration => 360); --过期时间(单位:天),如果过期则清除之。
END;
/
--删除baseline
BEGIN
dbms_workload_repository.drop_baseline(baseline_name => 'test_perf',
cascade => TRUE, --是否级联删除awr数据
dbid => 1785327999);
END;
/
_________________________________________________________________________
3): 11g中新增基于【系统移动窗口】的baseline
SELECT dhb.baseline_name,
dhb.baseline_type,
dhb.start_snap_id,
dhb.end_snap_id,
dhb.start_snap_time,
dhb.end_snap_time,
dhb.moving_window_size,
dhb.creation_time
FROM dba_hist_baseline dhb;
--SYSTEM_MOVING_WINDOW MOVING_WINDOW 147 147 28-12月-12 07.04.59.629 下午 28-12月-12 07.04.59.629 下午 8 2012/9/3 20:21:55
基于【系统移动窗口】的baseline创建同期与awr保存周期必须一致,下面是一次
修改示例:
BEGIN
dbms_workload_repository.modify_snapshot_settings(retention => 12960); --分钟
dbms_workload_repository.modify_baseline_window_size(window_size => 9); --天
END;
/
--查看配置信息
SELECT * from dba_hist_baseline_metadata;
--1785327999 0 SYSTEM_MOVING_WINDOW MOVING_WINDOW 9 2012/9/3 20:21:55
_________________________________________________________________________
4):基线模板
按我的理解,这种功能只有在正常awr收集作业无法满足
特殊要求的情况下,人为参与awr收集的一个增强特性,其
实完全可以自己写crontab(运行awrrpt.sql)代替。 --个人观点,不妥处望请指出
BEGIN
--一次性收集作业
dbms_workload_repository.create_baseline_template(start_time =>, --起始时间段
end_time =>, --结束时间段
baseline_name =>, --基线名
template_name =>, --模板名
expiration =>, --过期时间
dbid =>);
--周期性收集作业
dbms_workload_repository.create_baseline_template(day_of_week =>,
hour_in_day =>,
duration =>,
start_time =>,
end_time =>,
baseline_name_prefix =>, --基线前缀(一个周期内可能收集多个基线)
template_name =>,
expiration =>,
dbid =>);
END;
/
PS:几个新增视图
SELECT * from dba_hist_baseline_details;
SELECT * from dba_hist_baseline_template;
/********************************************************************************************/
--3.总结
baseline即是所谓的基线,与软件周期中的基线管理有些共同的特点;但是awr中的基线,只是一个时间
点上数据库性能的一个快照点信息,所以何时使用基线还是依环境而论。
所以个人建议,如果想对比历史性能指标信息,还是自己对awr做一定制化,将这些数据存放到一个类似
数据集市的库中,以备不时之须。
阅读(698) | 评论(0) | 转发(0) |