Difference between revisions of "Performance"

From dbawiki
Jump to: navigation, search
(How many log switches have ocurred per hour over the past week?)
(Top session activity)
Line 75: Line 75:
  
 
undef 1
 
undef 1
 +
</pre>
 +
===Top SQL===
 +
<pre>
 +
set lines 500 pages 1000
 +
set verif off
 +
 +
select *
 +
from  (
 +
      select substr(a.sql_text,1,50) sql_text
 +
      ,      trunc(a.disk_reads/decode(a.executions,0,1,a.executions)) reads_per_execution
 +
      ,      a.buffer_gets
 +
      ,      a.disk_reads
 +
      ,      a.executions
 +
      ,      a.sorts
 +
      ,      a.address
 +
      from  v$sqlarea a
 +
      order  by 2 desc
 +
      )
 +
where  rownum <= 11
 +
/
 
</pre>
 
</pre>

Revision as of 21:34, 18 February 2014

How many log switches have ocurred per hour over the past week?

set lines 200
select * from (
select TO_DATE(first_time,'DD-MON-RR') "Date",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'00',1,0)),'999') "00",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'01',1,0)),'999') "01",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'02',1,0)),'999') "02",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'03',1,0)),'999') "03",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'04',1,0)),'999') "04",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'05',1,0)),'999') "05",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'06',1,0)),'999') "06",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'07',1,0)),'999') "07",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'08',1,0)),'999') "08",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'09',1,0)),'999') "09",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'10',1,0)),'999') "10",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'11',1,0)),'999') "11",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'12',1,0)),'999') "12",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'13',1,0)),'999') "13",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'14',1,0)),'999') "14",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'15',1,0)),'999') "15",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'16',1,0)),'999') "16",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'17',1,0)),'999') "17",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'18',1,0)),'999') "18",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'19',1,0)),'999') "19",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'20',1,0)),'999') "20",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'21',1,0)),'999') "21",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'22',1,0)),'999') "22",
       TO_CHAR(sum(decode(to_char(first_time,'HH24'),'23',1,0)),'999') "23"
from   v$log_history
group  by to_date (first_time,'DD-MON-RR')
order  by 1 desc
)
where  rownum < 8;

Top session activity

Enter READS, EXECS or CPU to order session activity by that column

set lines 500 pages 1000 verif off 

col username   for a15
col machine    for a26
col module     for a30
col logon_time for a20
col program    for a30
col killer     for a12
col osuser     for a10

select nvl(a.username, '(oracle)') as username
,      a.osuser
,      a.sid||','||a.serial# killer
,      c.value as &&1
,      a.lockwait
,      a.status
,      a.module
,      a.machine
,      a.program
,      to_char(a.logon_time,'dd-mon-yyyy hh24:mi:ss') as logon_time
from   v$session a
,      v$sesstat c
,      v$statname d
where  1=1
and    a.sid        = c.sid
and    c.statistic# = d.statistic#
and    d.name       = decode(upper('&1'), 'READS', 'session logical reads',
                                          'EXECS', 'execute count',
                                          'CPU',   'cpu used by this session',
                                                   'cpu used by this session')
order by c.value desc
/

undef 1

Top SQL

set lines 500 pages 1000
set verif off 

select *
from   (
       select substr(a.sql_text,1,50) sql_text
       ,      trunc(a.disk_reads/decode(a.executions,0,1,a.executions)) reads_per_execution
       ,      a.buffer_gets
       ,      a.disk_reads
       ,      a.executions
       ,      a.sorts
       ,      a.address
       from   v$sqlarea a
       order  by 2 desc
       )
where  rownum <= 11
/