User sessions hit ratios

Summary 

Show hit ratios, consistent-gets, db-block-gets, physical-reads for the sessions.


SELECT  se.username || '(' || se.SID || ')' "User(sid)",
       SUM(DECODE(NAME, 'consistent gets',VALUE, 0))  "Consis Gets",
        SUM(DECODE(NAME, 'db block gets',VALUE, 0))  "DB Blk Gets",
        SUM(DECODE(NAME, 'physical reads',VALUE, 0))  "Phys Reads",
       (SUM(DECODE(NAME, 'consistent gets',VALUE, 0))  +
        SUM(DECODE(NAME, 'db block gets',VALUE, 0))  -
        SUM(DECODE(NAME, 'physical reads',VALUE, 0)))/(SUM(DECODE(NAME, 'consistent gets',VALUE, 0))  +
        SUM(DECODE(NAME, 'db block gets',VALUE, 0)))  * 100 "Hit Ratio"
  FROM  v$sesstat ss, v$statname sn, v$session se
WHERE   ss.SID    = se.SID
  AND   sn.statistic# = ss.statistic#
  AND   VALUE != 0
  AND   sn.NAME IN ('db block gets', 'consistent gets', 'physical reads')
GROUP BY se.username, se.SID
HAVING  (SUM(DECODE(NAME, 'consistent gets',VALUE, 0))  +
        SUM(DECODE(NAME, 'db block gets',VALUE, 0))  -
        SUM(DECODE(NAME, 'physical reads',VALUE, 0)))/(SUM(DECODE(NAME, 'consistent gets',VALUE, 0))  +
        SUM(DECODE(NAME, 'db block gets',VALUE, 0))  )  * 100< 100;

Comments

Popular posts from this blog

Reboot Exadata Machine

ORA-01565: error in identifying file '?/dbs/spfile@.ora'

STEPS TO troubleshoot long running concurrent request in R12.2.x