Oracle AWR - Delta字段

Oracle AWR - Delta字段

从10g开始,我们采用awr报告来分析数据库的性能,我们发现增加了很多dba_hist相关的视图,其中基于时间相关的字段delta开始出现,对于我们计算语句的时间消耗很有帮助。

其实Delta 表示第四个希腊字母,大写为Δ,小写为δ,其在数学和科学,表示变量的变化。在Oracle中的Delta number其实是指在采样间隔内,指标的增加值,也就是2个采样间的差值。

有Delta相关字段的表包括:DBA_HIST_ACTIVE_SESS_HISTORY、DBA_HIST_SEG_STAT、DBA_HIST_SQLSTAT。

Delta可以省略以前只能用分析函数来计算两个快照间差值办法,可以直接查询。如果部分快照没有捕获对象统计信息,那么用分析函数也无法得到该期间的数值,但是如果有delta字段,可以直接查询。

SELECT *
  FROM (  SELECT SNAP_ID,
                 LOGICAL_READS_TOTAL,
                   LOGICAL_READS_TOTAL
                 - (LAG (LOGICAL_READS_TOTAL) OVER (ORDER BY SNAP_ID))
                    LOGICAL_READS,
                 LOGICAL_READS_DELTA
            FROM DBA_HIST_SEG_STAT
           WHERE OBJ# = 3278293 AND INSTANCE_NUMBER = 1
        ORDER BY 1)
 WHERE ROWNUM <= 10;

   SNAP_ID LOGICAL_READS_TOTAL LOGICAL_READS LOGICAL_READS_DELTA

---------- ------------------- ------------- -------------------

     12315            43227600                             45168

     12316            43275936         48336               48336

     12321            43415056        139120               29056 <= 没有12320快照

     12323            43532160        117104               69536 <= 没有12322快照

     12325            43710256        178096              103760 <= 没有12324快照

     12326            43771904         61648               61648

     12327            43815680         43776               43776

     12328            43871648         55968               55968

     12332            44220256        348608               90016 <= 没有12332快照

     12333            44296544         76288               76288

在11g中,又为ASH增加了delta字段(V$ACTIVE_SESSION_HISTORY & DBA_HIST_ACTIVE_SESS_HISTORY)。有2组:

(1) 时间模型统计

  •  TM_DELTA_TIME         一次统计间隔
  •  TM_DELTA_CPU_TIME     在这个间隔内,CPU时间
  •  TM_DELTA_DB_TIME      在这个间隔内,DB时间

因为ASH采样的粒度是1秒,但是进程并不是在1s内都ACTIVE的。该统计的粒度是微秒(百万分之一秒):

  •  TM_DELTA_TIME - TM_DELTA_DB_TIME = INACTIVE TIME
  •  TM_DELTA_DB_TIME - TM_DELTA_CPU_TIME = WAIT TIME

(2) IO&网络统计

  •   DELTA_TIME                          
  •   DELTA_READ_IO_REQUESTS              
  •   DELTA_WRITE_IO_REQUESTS             
  •   DELTA_READ_IO_BYTES                 
  •   DELTA_WRITE_IO_BYTES                
  •   DELTA_INTERCONNECT_IO_BYTES         

统计时间内,物理读/写/心跳流量高的SQL:

  SELECT SQL_ID,
         SUM (DELTA_READ_IO_REQUESTS),
         SUM (DELTA_WRITE_IO_REQUESTS),
         SUM (DELTA_READ_IO_BYTES),
         SUM (DELTA_WRITE_IO_BYTES),
         SUM (DELTA_INTERCONNECT_IO_BYTES)
    FROM V$ACTIVE_SESSION_HISTORY
GROUP BY SQL_ID
ORDER BY 2 DESC;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值