5.2 自动工作负载库
自动工作负载库(AWR)为了问题诊断和自我优化的目的收集,处理,以及维护性能统计数据。这些数据不仅存放在内存中,还存放在数据库里。收集的数据能在报告和视图中体现。查看 "Automatic Workload Repository Views" and "Automatic Workload Repository Reports".
AWR收集和处理的数据包括:
--决定数据库的段的访问和使用统计数据的对象统计信息。
--基于活动使用时间的时间模型,可以查看V$SYS_TIME_MODEL和V$TIME_MODEL视图。
--V$SYSSTAT V$SESSTAT视图收集的系统和会话统计信息
--基于经历时间和CPU时间的使系统产生高负载的sql语句
--活动会话历史(ASH)统计信息,表示了最近会话的活跃历史。
AWR每个小时自动生成性能数据的快照,并且收集负载库里面的统计数据,你也可以手动生成快照,但是这是不必要的。快照间隔中的数据被自动数据库诊断监视ADDM分析。
AWR比较快照之间的不同来确定由哪个SQL语句去增加系统负载的效益。这减少了一段时间需要捕获的sql语句的数量。
AWR消耗的空间取决于以下几个因素:
--在任意给定系统时间的活跃会话数量
--快照间隔
快照间隔决定了快照获取的频繁度。小的快照间隔增加了频繁度,增加了收集的统计数据的容量。
--历史数据保持时间
保持时间确定了数据在被丢掉之前会保留多久的时间,长时间的保留增加了AWR空间的消耗。
默认,快照每隔一小时收集一次,会在数据库保留7天的时间。通过这些默认的设置,一个平均有10个活跃会话同时存在的系统需要大约200M-300M的空间来存放AWR数据,如果要修改快照间隔和保留时间的默认值,查看 "Accessing the Automatic Workload Repository with Oracle Enterprise Manager" and "Modifying Snapshot Settings" 来修改AWR的设置。
AWR空间消耗可以通过增加快照时间间隔和减少保留时间来降低。当减少保留时间以后,发现几个oracle自身管理特征依赖AWR数据特有的功能。没有足够的数据会影响这些组件和功能的有效性和精确性,包括如下:
--自动数据库诊断监视 ADDM
--SQL advisor
--undo advisor
--segment advisor
如果可能的话,oracle公司推荐设置AWR保留时间足够大去获得最少一个完整的负载周期。如果你的系统一周是一个负载周期,比如OLTP工作负载经过一周后在周末进行批处理。你就不需要改变迷人的AWR保留时间7天的设置,然而,如果你的系统经过一个月的峰值月末结束,你就可能需要设置保留时间到一个月。
在异常情况下,可以通过设置快照间隔为0来关闭自动快照收集。在这个情况下,工作负载和统计数据的自动收集停止了,很多oracle自带的管理功能失效,并且,将不能手动生成快照。出于这个原因,oracle公司强烈建议不要关闭自动快照收集。
从AWR中收集基线来获取典型的性能时间段是很重要的,基线是指定的一个快照范围,已经比较过了当性能问题出现的时候其它相似的工作负载时间段。
STATISTICS_LEVEL初始化参数应该被设置为TYPICAL或者 ALL使得AWR生效。如果设置为BASIC,可以用DBMS_WORKLOAD_REPOSITORY包手动获取AWR统计数据,然而,因为设置STATISTICS_LEVEL参数为BASIC关闭可内存中对于很多系统统计数据的收集,比如段统计信息和memory advisor信息,手动获取快照不会包含这些统计信息,并且会是不完整的。
除了AWR收集的数据之外,DBMS_STATS.GATHER_DATABASE_JOB_PROC过程收集的自动优化器统计信息收集也作为一个维护窗口的计划任务。
这部分包括和AWR相关的以下主题:
--使用OEM访问AWR
--使用API管理快照和基线数据
--AWR视图
--AWR报告
--ASH报告
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24799772/viewspace-681338/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24799772/viewspace-681338/