- AWR 基线
- 使用AWR 基线进行比较性能分析
• AWR 基线包含了“目标或参考”时段的一组AWR 快照
• 基线对性能优化很关键,可用于:
– 指导预警阈值的设置
– 监视性能
– 比较指导报表
使用AWR 基线进行比较性能分析
应对性能度量设置什么样的阈值才是恰当的?您要检测什么?如果希望知道性能度量值指示服务器接近容量限制,则应设置绝对值。但是,如果希望知道今天的性能与上周(或上个月)同一时间的性能之间的差异,则当前性能必须与基线进行比较。
基线是某个时段内生成的一组快照。按照统计学对这些快照进行了分组,以便获得一组随时间变化的基线值。例如,特定数据库中的每秒事务处理数会随一天中的时间而变化。每秒的事务处理值在工作时间较高,而在非工作时间则较低。基线可以记录这种变化,并可将其设置为在当前的每秒事务处理数与基线值存在显著差异时发出预警。
Oracle Database 11g基线提供了根据基线数据计算随时间变化的阈值所需的数据。基线允许对性能度量和基线数据进行实时比较,并可用来生成对两个时段进行比较的AWR 报表。
- 自动工作量资料档案库基线
Oracle Database 11g进一步增强了自动工作量资料档案库基线:
• 即用型移动窗口基线,可通过该基线指定自适应阈值
• 使用基线模板安排基线的创建操作
• 重命名基线
• 设置基线的到期日期
自动工作量资料档案库基线
Oracle Database 11g合并了Oracle(特别是Enterprise Manager 和RDBMS)中的多种基线概念,形成了一个“自动工作量资料档案库”(AWR) 基线概念。Oracle Database 11gAWR 基线提供了强大的功能,可用于定义动态基线和将来基线,同时显著简化了创建和管理的过程,以用于比较用途。
Oracle Database 11g引入了“移动窗口基线”概念。默认情况下,将创建系统定义的移动窗口基线;该基线对应于AWR 保留期内的所有AWR 数据。
Oracle Database 11g可以收集两种基线:移动窗口基线和静态基线。静态基线可以是单个基线,也可以是重复基线。单个AWR 基线是在单个时段内收集的。重复基线是在重复的时段内收集的(例如,六月的每个星期一)。
在Oracle Database 11g中,如果STATISTICS_LEVEL=TYPICAL或ALL,则默认启用基线。
- 移动窗口基线
移动窗口基线有一个:
• SYSTEM_MOVING_WINDOW:对应于最近八天的AWR 数据的移动窗口基线
• 此基线在11g是已创建好的
默认情况下,自适应阈值功能会计算此基线的统计信息。
移动窗口基线
Oracle Database 会自动维护一个系统定义的移动窗口基线。系统定义的移动窗口基线的默认窗口大小为当前的AWR 保留期(默认为八天)。如果计划使用自适应阈值,则可考虑使用较大的移动窗口(如30 天),以便精确地计算阈值。通过将移动窗口中的天数更改为等于或小于AWR
保留期中的天数的值,可以调整移动窗口基线的大小。因此,要增加移动窗口的大小,需要先相应地增加AWR 保留期。
这种系统定义的基线提供了一个现成的默认基线,EM 的性能屏幕可对照当前的数据库性能对性能进行比较。
注:在Oracle Database 11g中,快照数据的默认保留期已经从七天更改为八天,以确保捕获整周的性能数据。
- 性能页设置中的基线
性能页设置中的基线
过去任何已定义的基线的数据在Oracle Database 11g中都是可用的。基线数据可能显示在Enterprise Manager 的“Performance(性能)”页上。共有三个显示选项:
• Do not show baseline information(不显示基线信息)。
• Show the information from a specified static baseline(显示指定静态基线中的信息)。
• Show the information from the system moving baseline(显示系统移动基线中的信息)。
注:收集了足够的数据并且计算了统计信息之后,系统移动窗口基线就生效了。默认情况下,安排在每个周六的午夜计算统计信息。
- 基线模板
• 使用模板可以针对将来的任何目标时段安排基线创建操作:
– 将来的单个时段
– 重复安排
• 示例
– 已知的周末假日
– 每周一从上午10 点至下午2 点
• 如果某个基线模板的结束时间从将来的时间变成了过去的时间,则MMON会检测到这种变化,并创建基线。
基线模板
通过针对将来时段创建基线,可以标记已知会成为关注点的时段。例如,您可能要求系统在一整年的时间里针对每周一上午自动生成一个基线,或者针对即将到来的周末假日生成一个基线(如果您怀疑该周末的流量会很高)。
以前,只能针对已经存在的快照创建基线。在Oracle Database 11g中,每夜的MMON任务会遍历所有模板以生成基线,并会进行检查以了解过去一天是否有任何时段从将来时间变成了过去时间。对于那些相关的时段,MMON任务随后会针对该时段创建一个基线。
- 创建AWR 基线
创建AWR 基线
可以创建两种类型的AWR 基线:单一基线和重复基线。
“Create Baseline: Baseline Interval Type(创建基线:基线时间间隔类型)”页中有以下说明:
The single type of baseline has a single and fixed time interval: for example, from Jan 1, 2007, at 10:00 AM, to Jan 1, 2007, at 12:00 PM.(对于单一类型的基线,其时间间隔单一且固定。例如,从2007
年1 月1 日上午10:00 到2007 年1 月1 日中午12:00。)
The repeating type of baseline has a time interval that repeats over a time period: for example, every Monday from 10:00 AM to 12:00 PM for the year
2007.(对于重复类型的基线,其时间间隔在某个时段内重复。例如,在2007 年中从每个周一的上午10:00 到中午12:00。)
要查看“AWR Baseline(AWR 基线)”页,请单击“Database Instance(数据库实例)”页中“Server(服务器)”选项卡上的“AWR Baselines(AWR 基线)”链接。在“Baseline(基线)”页上,单击“Create(创建)”并根据向导创建基线。
注:在设置特定基线的AWR 基线度量阈值之前,必须计算基线统计信息。在“Actions(操作)”菜单中选择“Schedule Statistics Computation(调度统计信息计算)”便可计算基线统计信息。还可以选择其它几种操作。
- 单一AWR 基线
单一AWR 基线
如果在前面的步骤中选择了“Single(单一)”选项,则将访问此图中所示的页面。
可以通过以下两种方式之一选择所需的时段:
• 选中“Snapshot Range(快照范围)”选项,然后根据页面上的说明设置“Period Start Time(时段开始时间)”和“Period End Time(时段结束时间)”。如果要选择的图标没有显示出来,则可更改图中的时段。
• 指定“Time Range(时间范围)”,即指定开始时间和结束时间的日期和时间。通过“Time Range(时间范围)”选项,可以选择将来的时间。
完成后,单击“Finish(完成)”即可创建静态基线。
注:如果基线的结束时间是将来的时间,则将创建一个与基线同名的基线模板。
- 创建重复基线模板
创建重复基线模板
可以使用Enterprise Manager 定义重复基线。在向导中,如果在步骤1 中选中了“Repeating(重复)”,则可指定图中所示的重复间隔。先指定开始时间以及基线的
持续时间;然后指定收集基线统计信息的时间(每日或每周;如果为每周,则指定具体在周几进行)。指定此基线模板收集统计信息的日期范围。“Retention Time(保留时间)”设置了基线的失效值;NULL值表示基线永远不失效。
- 针对单一时段生成基线模板
针对单一时段生成基线模板
现在,可以创建一个模板,并使用该模板来针对将来的不同时段创建基线,以便进行可预测的调度。如果时段的任何部分是将来时间,则可使用CREATE_BASELINE_TEMPLATE过程。
对于该基线模板,如果结束时间变成了过去的时间,则使用这些输入的任务会在该时间到来时自动针对指定时段创建一个基线。该示例创建了一个基线模板;该模板会在0:0:0 21-Sep-2008 变成过去时间时创建一个基线。
如果在创建基线时使用基于时间的定义,则不需要开始快照和结束快照标识符。对于CREATE_BASELINE_TEMPLATE过程,现在也可以为使用模板创建的基线指定一个到期期限。到期期限(以天为单位)表示您希望保留基线的天数。NULL值表示基线永远不过期。
要为过去的某个时段创建基线,请使用CREATE_BASELINE过程(与Oracle Database 10g中相同)。CREATE_BASELINE过程有一个新参数:到期期限。该到期期限的含义与CREATE_BASELINE_TEMPLATE的到期期限的含义相同。
- 创建重复基线模板
BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE_TEMPLATE (
day_of_week => 'SATURDAY',
hour_in_day => 6,
duration => 20,
start_time => to_date('21-JUN-2007','DD-MON-YYYY'),
end_time => to_date('21-JUN-2008','DD-MON-YYYY'),
baseline_name_prefix => 'SAT_MAINT_WIN'
template_name => 'SAT_MAINT_WIN',
expiration => 90,
dbid => NULL );
END;
创建重复基线模板
使用CREATE_BASELINE_TEMPLATE过程可以生成一些基线模板,这些模板可以根据重复的时间计划自动创建连续时间段的基线。也可以指定是否要在指定的到期间隔(expiration) 后自动删除基线。
示例生成了一个模板,用于针对一年中与每个SATURDAY_MAINTENANCE_WINDOW对应的时段创建一个基线。该基线是为一个20 小时的时段(duration) 创建的,该时段开始于每个周六(day_of_week) 的上午6:00 (hour_in_day)。该基线的名称为“SAT_MAINT_WIN”,后面附加了时间信息以使其具有唯一性。该模板的名称为“SAT_MAINT_WIN”,每个基线的保留时间为90
天(expiration)。该模板是针对本地数据库(dbid => NULL) 创建的。
使用此基线可以比较维护窗口期间的每个周六所使用的资源。
- DBMS_WORKLOAD_REPOSITORY程序包
• 添加了以下过程:
– CREATE_BASELINE_TEMPLATE
– RENAME_BASELINE
– MODIFY_BASELINE_WINDOW_SIZE
– DROP_BASELINE_TEMPLATE
• 添加了以下函数:
– SELECT_BASELINE_METRIC
DBMS_WORKLOAD_REPOSITORY程序包
该示例显示了在Oracle Database 11g的DBMS_WORKLOAD_REPOSITORY程序包中提供的接口集,可用于管理和过滤PL/SQL。
使用MODIFY_BASELINE_WINDOW_SIZE可以修改SYSTEM_MOVING_WINDOW的大小。
- 基线视图
基线支持的数据字典:
• 经过修改的DBA_HIST_BASELINE
• 新增的DBA_HIST_BASELINE_DETAILS
• 新增的DBA_HIST_BASELINE_TEMPLATE
基线视图
支持AWR 基线的数据字典视图已发生了更改。
DBA_HIST_BASELINE:经过修改的视图
DBA_HIST_BASELINE已经过了修改,可以支持SYSTEM_MOVING_WINDOW基线以及根据模板生成的基线。增加的信息包括创建日期、上次计算统计信息的日期以及基线的类型。
DBA_HIST_BASELINE_DETAILS:新增的视图
DBA_HIST_BASELINE_DETAILS将显示一些信息,您可以据此确定给定基线的有效性,如基线时段内是否存在关机,快照数据所涵盖的基线时段的百分比等。
DBA_HIST_BASELINE_TEMPLATE:新增的视图
DBA_HIST_BASELINE_TEMPLATE保存了基线模板。此视图提供了一些信息,MMON需要使用这些信息来确定何时根据模板创建基线以及何时删除基线。