Re: Time Series Format of Operating System Statistics

From: Karl Arao <karlarao_at_gmail.com>
Date: Sat, 30 Jan 2010 14:59:31 +0800
Message-ID: <12ee65601001292259o181e5199ta490934b73f4b28_at_mail.gmail.com>



Guys,

I already got what I need.. see the following query:

select
s1t0.snap_id,
to_char(s0.BEGIN_INTERVAL_TIME,'YYYY-Mon-DD HH24:MI:SS') time,

s1t1.value - s1t0.value as busy_time,
s2t1.value as load,
s3t1.value as num_cpus,
s4t1.value as physical_memory_bytes
     from dba_hist_snapshot s0,
          dba_hist_snapshot s1,
          dba_hist_osstat s1t0,
          dba_hist_osstat s1t1,
          dba_hist_osstat s2t1,
          dba_hist_osstat s3t1,
          dba_hist_osstat s4t1
     where
       s0.dbid = 2607950532
       and s1t0.dbid = s0.dbid
       and s1t1.dbid = s0.dbid
       and s2t1.dbid = s0.dbid
       and s3t1.dbid = s0.dbid
       and s4t1.dbid = s0.dbid
       and s0.instance_number = 1
       and s1t0.instance_number = s0.instance_number
       and s1t1.instance_number = s0.instance_number
       and s2t1.instance_number = s0.instance_number
       and s3t1.instance_number = s0.instance_number
       and s4t1.instance_number = s0.instance_number
       and s1.snap_id = s0.snap_id + 1
       and s1t0.snap_id = s0.snap_id
       and s1t1.snap_id  = s0.snap_id + 1
       and s2t1.snap_id  = s0.snap_id
       and s3t1.snap_id  = s0.snap_id
       and s4t1.snap_id  = s0.snap_id
       and s1t0.stat_name = 'BUSY_TIME'
       and s1t1.stat_name = s1t0.stat_name
       and s2t1.stat_name = 'LOAD'
       and s3t1.stat_name = 'NUM_CPUS'
       and s4t1.stat_name = 'PHYSICAL_MEMORY_BYTES'
     order by snap_id asc



and the output ...

   SNAP_ID TIME BUSY_TIME LOAD NUM_CPUS PHYSICAL_MEMORY_BYTES

---------- -------------------- ---------- ---------- ----------
---------------------
       245 2010-Jan-14 12:38:36       1603 .239257813       1 169520
       246 2010-Jan-14 13:03:23      28415 .049804688       1 154464
       247 2010-Jan-14 13:10:38       8993 .059570313       1  5148
       248 2010-Jan-14 14:00:39     -46770    0       1 29292
       249 2010-Jan-15 23:45:26      17722 .049804688       1 311216
       250 2010-Jan-15 23:56:37       7089 .659179688       1 109880

and compared to the original query and output ... plus compare it to the generated AWR report...

select

e.snap_id, substr(e.stat_name, 1, 35) as name,
       (case when e.stat_name like 'NUM_CPU%'           then e.value
             when e.stat_name = 'LOAD'                 then e.value
             when e.stat_name = 'PHYSICAL_MEMORY_BYTES' then e.value
             else e.value - b.value
        end) as value
     from dba_hist_osstat b,
          dba_hist_osstat e
     where
      b.stat_name = 'LOAD' and
       b.dbid = 2607950532
       and e.dbid = 2607950532
       and b.instance_number = 1
       and e.instance_number = 1
       and e.snap_id = b.snap_id + 1
       and b.stat_id = e.stat_id
     order by snap_id, name asc

   SNAP_ID NAME     VALUE
---------- ----------------------------------- ----------
       245 LOAD        .239257813
       246 LOAD        .049804688
       247 LOAD        .059570313
       248 LOAD 0
       249 LOAD        .049804688
       250 LOAD        .659179688



Yeah! I got it right ;)

  • Karl Arao karlarao.wordpress.com
--
http://www.freelists.org/webpage/oracle-l
Received on Sat Jan 30 2010 - 00:59:31 CST

Original text of this message