您的位置:首页 > 数据库 > Oracle

oracle 数据库 表空间最近2小时 io 统计信息

2014-02-08 13:36 357 查看


oracle 数据库 表空间最近2小时 io 统计信息

——————————————————————————

——————for single instance ——————————

select e.tsname tsname,

       sum(e.phyrds - nvl(b.phyrds, 0)) reads,

       sum(e.phyrds - nvl(b.phyrds, 0)) /

       (SELECT EXTRACT(DAY FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) *

               86400 +

               EXTRACT(HOUR FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 3600 +

               EXTRACT(MINUTE FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 60 +

               EXTRACT(SECOND FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME)

          FROM DBA_HIST_SNAPSHOT B, DBA_HIST_SNAPSHOT E

         WHERE B.SNAP_ID = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time >sysdate-3/24 and end_interval_time <sysdate-2/24 and rownum<2)

           AND E.SNAP_ID = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time > sysdate-1/24 and rownum<2)

           AND B.STARTUP_TIME = E.STARTUP_TIME

           AND B.END_INTERVAL_TIME < E.END_INTERVAL_TIME) rps,

       decode(sum(e.phyrds - nvl(b.phyrds, 0)),

              0,

              0,

              10 * (sum(e.readtim - nvl(b.readtim, 0)) /

              sum(e.phyrds - nvl(b.phyrds, 0)))) atpr,

       decode(sum(e.phyrds - nvl(b.phyrds, 0)),

              0,

              0,

              sum(e.phyblkrd - nvl(b.phyblkrd, 0)) /

              sum(e.phyrds - nvl(b.phyrds, 0))) bpr,

       sum(e.phywrts - nvl(b.phywrts, 0)) writes,

       sum(e.phywrts - nvl(b.phywrts, 0)) /

       (SELECT EXTRACT(DAY FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) *

               86400 +

               EXTRACT(HOUR FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 3600 +

               EXTRACT(MINUTE FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 60 +

               EXTRACT(SECOND FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME)

          FROM DBA_HIST_SNAPSHOT B, DBA_HIST_SNAPSHOT E

         WHERE B.SNAP_ID = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time >sysdate-3/24 and end_interval_time <sysdate-2/24 and rownum<2)

           AND E.SNAP_ID = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time > sysdate-1/24 and rownum<2)

           AND B.STARTUP_TIME = E.STARTUP_TIME

           AND B.END_INTERVAL_TIME < E.END_INTERVAL_TIME) wps,

       sum(e.wait_count - nvl(b.wait_count, 0)) waits,

       decode(sum(e.wait_count - nvl(b.wait_count, 0)),

              0,

              0,

              10 * (sum(e.time - nvl(b.time, 0)) /

              sum(e.wait_count - nvl(b.wait_count, 0)))) atpwt,

       sum(e.phyrds - nvl(b.phyrds, 0)) +

       sum(e.phywrts - nvl(b.phywrts, 0)) ios

  from dba_hist_filestatxs e, dba_hist_filestatxs b

 where b.snap_id = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time >sysdate-3/24 and end_interval_time <sysdate-2/24 and rownum<2)

   and e.snap_id = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time > sysdate-1/24 and rownum<2)

   and b.dbid = e.dbid

   and b.instance_number = e.instance_number

   and b.tsname = e.tsname

   and b.file# = e.file#

   and b.creation_change# = e.creation_change#

   and ((e.phyrds - nvl(b.phyrds, 0)) + (e.phywrts - nvl(b.phywrts, 0))) > 0

 group by e.tsname

union all

select e.tsname tsname,

       sum(e.phyrds - nvl(b.phyrds, 0)) reads,

       sum(e.phyrds - nvl(b.phyrds, 0)) /

       (SELECT EXTRACT(DAY FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) *

               86400 +

               EXTRACT(HOUR FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 3600 +

               EXTRACT(MINUTE FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 60 +

               EXTRACT(SECOND FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME)

          FROM DBA_HIST_SNAPSHOT B, DBA_HIST_SNAPSHOT E

         WHERE B.SNAP_ID = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time >sysdate-3/24 and end_interval_time <sysdate-2/24 and rownum<2)

           AND E.SNAP_ID = ( select snap_id from DBA_HIST_SNAPSHOT where end_interval_time > sysdate-1/24 and rownum<2)

           AND B.END_INTERVAL_TIME < E.END_INTERVAL_TIME) rps,

       decode(sum(e.phyrds - nvl(b.phyrds, 0)),

              0,

              0,

              (sum(e.readtim - nvl(b.readtim, 0)) /

              sum(e.phyrds - nvl(b.phyrds, 0))) * 10) atpr,

       decode(sum(e.phyrds - nvl(b.phyrds, 0)),

              0,

              to_number(NULL),

              sum(e.phyblkrd - nvl(b.phyblkrd, 0)) /

              sum(e.phyrds - nvl(b.phyrds, 0))) bpr,

       sum(e.phywrts - nvl(b.phywrts, 0)) writes,

       sum(e.phywrts - nvl(b.phywrts, 0)) /

       (SELECT EXTRACT(DAY FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) *

               86400 +

               EXTRACT(HOUR FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 3600 +

               EXTRACT(MINUTE FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 60 +

               EXTRACT(SECOND FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME)

          FROM DBA_HIST_SNAPSHOT B, DBA_HIST_SNAPSHOT E

         WHERE B.SNAP_ID = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time >sysdate-3/24 and end_interval_time <sysdate-2/24 and rownum<2)

           AND E.SNAP_ID = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time > sysdate-1/24 and rownum<2)

           AND B.STARTUP_TIME = E.STARTUP_TIME

           AND B.END_INTERVAL_TIME < E.END_INTERVAL_TIME) wps,

       sum(e.wait_count - nvl(b.wait_count, 0)) waits,

       decode(sum(e.wait_count - nvl(b.wait_count, 0)),

              0,

              0,

              (sum(e.time - nvl(b.time, 0)) /

              sum(e.wait_count - nvl(b.wait_count, 0))) * 10) atpwt,

       sum(e.phyrds - nvl(b.phyrds, 0)) +

       sum(e.phywrts - nvl(b.phywrts, 0)) ios

  from dba_hist_tempstatxs e, dba_hist_tempstatxs b

 where b.snap_id = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time >sysdate-3/24 and end_interval_time <sysdate-2/24 and rownum<2)

   and e.snap_id = (select snap_id from DBA_HIST_SNAPSHOT where end_interval_time > sysdate-1/24 and rownum<2)

   and b.dbid = e.dbid

   and b.instance_number = e.instance_number

   and b.tsname = e.tsname

   and b.file# = e.file#

   and b.creation_change# = e.creation_change#

   and ((e.phyrds - nvl(b.phyrds, 0)) + (e.phywrts - nvl(b.phywrts, 0))) > 0

 group by e.tsname

 order by ios desc, tsname;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: