技术开发 频道

Oracle10g新特性——工作量自动收集

    AWR使用多个表来存储收集的统计数据,它们都被放置在SYS这个方案中,存储在一个新的特殊表空间SYSAUX上,并且以WRM$_*和WRH$_*的格式存储。前面一种格式的表存储诸如数据库检查和采集的快照等元数据信息,而后面一种格式的表存储了实际收集的统计数据(M表示“Metadata元数据”,H表示“Historical历史”)。另外还有多个以“DBA_HIST_”为前缀,由这些表构造出的视图。你可以利用这些视图写出自己的性能分析工具。这些视图的命名与它相关的表直接相关。比如,视图DBA_HIST_SYSMETRIC_SUMMAY是以表WRH$_SYSMETRIC_SMMURY为基础构造的。

     AWR的历史信息表捕捉了比statspack多得多的信息,包括表空间的使用情况、文件系统的使用情况、甚至操作系统的统计信息。可以用以下语句从数据字典中得到这些表的完整列表:

select view_name from user_views where view_name like 'DBA\_HIST\_%' escape '\';

    视图DBA_HIST_METRIC_NAME定义了AWR收集的重要度量数据、它们所属哪个组以及他们实在哪个单元被收集的。下面是一条记录例子:

DBID : 4133493568 GROUP_ID : 2 GROUP_NAME : System Metrics Long Duration METRIC_ID : 2075 METRIC_NAME : CPU Usage Per Sec METRIC_UNIT : CentiSeconds Per Second

    这个数据显示了一个隶属于 “系统长期度量数据”的度量数据组中的“每秒的厘秒数”单元的“CPU每秒使用情况”的度量项。这条记录可以和其他表如“DBA_HIST_SYSMETRIC_SUMMARY”联合查询来起作用:

SQL> select begin_time, intsize, num_interval, minval, maxval, average, standard_deviation sd from dba_hist_sysmetric_summary where metric_id = 2075; BEGIN INTSIZE NUM_INTERVAL MINVAL MAXVAL AVERAGE SD ----- ---------- ------------ ------- ------- -------- ---------- 11:39 179916 30 0 33 3 9.81553548 11:09 180023 30 21 35 28 5.91543912 … …

    这显示的是以厘秒为单位的CPU消耗时间。在分析数据中的标准偏差(Standard Deviation SD)可以帮助我们来确定平均数据图是否反映实际工组负荷。在第一条记录中,平均值是每秒钟CPU消耗3厘秒,而标准偏差是9.81,这说明平均为3并没有反映出实际工作负荷。在第二条记录中,平均值是28,而标准偏差是5.9,所以这条记录更具代表性。这种类型的信息有助于帮助理解在性能度量中的几个环境参数的作用。

0
相关文章