Oracle10g新特性——工作量自动收集
2008-08-30 12:44:31 来源:WEB开发网AWR的使用
首先来了解一下AWR是如何设计的,并了解一下它的构造。基本上来说,AWR应该是一个Oracle用来收集性能相关统计数据并从中得出性能度量数据来追踪潜在问题的内置工具。和statspack不一样,AWR的快照信息是由一个新的后台进程MMON及其线程来每隔一个小时自动收集的。为了节省空间,这些收集的数据会在7天后自动清除。快照收集的频率和保留时间都是可以被用户修改的。可以通过以下脚本查看当前的设置:
SQL> select snap_interval, retention from dba_hist_wr_control;
这个结果表明当前的快照是每隔一个小时收集一次,并且会被保留7天。要改变这个设置,比如需要设置成每隔半小时收集一次,并且只保留3天,可以使用以下语句(参数的单位都是分):
SNAP_INTERVAL RETENTION
------------------- -------------------
+00000 01:00:00.0 +00007 00:00:00.0
SQL> begin
2 dbms_workload_repository.modify_snapshot_settings (
3 interval => 30,
4 retention => 3*24*60
5 );
6 end;
SQL> select snap_interval, retention from dba_hist_wr_control;
SNAP_INTERVAL RETENTION
------------------- -------------------
+00000 00:30:00.0 +00003 00:00:00.0
AWR使用多个表来存储收集的统计数据,它们都被放置在SYS这个方案中,存储在一个新的特殊表空间SYSAUX上,并且以WRM$_*和WRH$_*的格式存储。前面一种格式的表存储诸如数据库检查和采集的快照等元数据信息,而后面一种格式的表存储了实际收集的统计数据(M表示“Metadata元数据”,H表示“Historical历史”)。另外还有多个以“DBA_HIST_”为前缀,由这些表构造出的视图。你可以利用这些视图写出自己的性能分析工具。这些视图的命名与它相关的表直接相关。比如,视图DBA_HIST_SYSMETRIC_SUMMAY是以表WRH$_SYSMETRIC_SMMURY为基础构造的。
- ››特性信息
赞助商链接