性能优化时大体有如下两种评估方式:如果希望知道性能度量值指示服务器接近容量限制,则应设置绝对值;但是如果希望知道今天的性能与上周(或者上个月)同一时间的性能之间的差异,则当前性能必须与基线进行比较。
基线是某个时段内生成的一组快照,按照统计学对这些快照进行了分组,以便获得一组随时间变化的基线值,可以以任何时段快照采样来做基线,只不过一般情况下我们大多会选择系统正常时段的快照来做基线。
基线在 Oracle 10g 中就出现了,而在 Oracle Database 11g 进一步增强了自动工作量资料档案库基线:
即用型移动窗口基线,可通过该基线指定自适应阀值。使用基线模板安排基线的创建操作。
重命名基线。
设置基线的到期日期。
AWR Baseline 是指一个特定时间段内的性能数据,保留这些数据是为了在性能问题产生时与其他类似的工作负载时间段进行比较:
fixed baseline:fixed baseline 表示的是您制定的一个固定的、连续的时间段;
moving window baseline:表示的是 war 保留期内存在的所有war数据;
Baseline template:您可以使用 baseline template 创建将来某个连续时间段的baseline,oracle 中有两种 baseline 模板分别是 single 和 repeating;
创建 fixed baseline:、
创建 baseline 的 procedure 和 function
还可以删除和重命名 baseline:
在 Oracle 11g 中系统已经默认创建 moving window baseline:
Oracle Database 会自动维护系统定义的 moving window baseline,系统定义的 moving window baseline 的默认窗口大小就是当前的 AWR 保留期,如果打算使用自适应阀值,请考虑使用更长的移动窗口,比如 30 天,以便精确的计算阀值。移动窗口的大小调整为小于或等于 AWR 的保留天数,因为要增加移动窗口的大小,必须要先增加相应的 AWR 保留期限。
基线模板:
基线模板允许定义可能在将来要捕捉的基线,create_baseline_template 存储过程定义单一基线或重复基线的捕捉,创建单一基线模板与创建基于时间的基线类似,除了将来的时间外。
重复基线模板稍微有点不同,因为它需要调度信息,start_time 和 end_time 参数分别在模板激活和释放时定义,day_of_week、hour_in_day 和 duration 定义产生基线的日期、时间和持续时间,因为模板会产生多个基线,基线名是以 baseline_name_prefix 开始的。
repeat 基线模板:
上面介绍了基线,那么如何来使用基线和指定时段的快照做 AWR 数据对比了,其实 Oracle 为我们提供出 AWR Compare Period Report 来方便实现指定时段的 awr 数据对比。
由于基线又由于可以一直保存在 AWR 快照中,DBA 做性能分析时则可以利用基线和故障时段的 AWR 做对比,更进一步的分析数据库的性能趋势变化,下面简单的来做一个 AWR 数据时段对比:
接下来使用 awrddrpt.sql 脚本来生成两个 AWR 的对比数据:
生成的 AWR 部分信息:
原文发布时间为:2018-04-25本文作者:邓秋爽本文来自云栖社区合作伙伴“数据和云”,了解相关信息可以关注“数据和云”。