oracle常用脚本--Physical writes

Physical writes:从SGA缓存区被DBWR写到磁盘的数据块以及PGA进程直写的数据块数量。

select ss.snap_id as snap_id,
       to_char(sn.end_interval_time, 'yyyy-mm-dd hh24:mi:ss') as "snap_date",
       (sum(decode(stat_name, 'physical writes', value, 0)) -
       lag(sum(decode(stat_name, 'physical writes', value, 0)), 1)
        over(order by ss.snap_id)) /
       ((to_date(to_char(sn.end_interval_time, 'yyyymmddhh24miss'),
                 'yyyymmddhh24miss') -
       to_date(to_char(sn.begin_interval_time, 'yyyymmddhh24miss'),
                 'yyyymmddhh24miss')) * 24 * 60 * 60) "physical writes"
  from SYS.DBA_HIST_sysstat ss, SYS.DBA_HIST_snapshot sn
 where ss.snap_id = sn.snap_id
   and ss.stat_name in ('physical writes')
   and ss.dbid = sn.dbid
   and ss.instance_number = sn.instance_number
   and sn.instance_number = (select instance_number from v$instance)
   and sn.dbid = (select dbid from v$database)
   group by ss.snap_id,
          sn.begin_interval_time,
          sn.end_interval_time

 

posted @ 2017-10-31 20:13  tonnytangy  阅读(347)  评论(0)    收藏  举报