Pages

Showing posts with label Library Cache Hit Ratio. Show all posts
Showing posts with label Library Cache Hit Ratio. Show all posts

Monday, May 28, 2012

Query to check MISC Hit Ratio

SELECT cur.inst_id, 'Buffer Cache Hit Ratio ' "Ratio", to_char(ROUND((1-(phy.value / (cur.value + con.value)))*100,2)) "Value"
FROM gv$sysstat cur, gv$sysstat con, gv$sysstat phy 
WHERE cur.name = 'db block gets' 
AND con.name = 'consistent gets' 
AND phy.name = 'physical reads' 
and phy.inst_id=1 
and cur.inst_id=1 
and con.inst_id=1 
union all 
SELECT cur.inst_id,'Buffer Cache Hit Ratio ' "Ratio", to_char(ROUND((1-(phy.value / (cur.value + con.value)))*100,2)) "Buffer Cache Hit Ratio"
FROM gv$sysstat cur, gv$sysstat con, gv$sysstat phy 
WHERE cur.name = 'db block gets' 
AND con.name = 'consistent gets' 
AND phy.name = 'physical reads' 
and phy.inst_id=2 
and cur.inst_id=2 
and con.inst_id=2 
union 
SELECT inst_id, 'Library Cache Hit Ratio ' "Ratio", to_char(Round(sum(pins) / (sum(pins)+sum(reloads)) * 100,2)) "Library Cache Hit Ratio"
FROM gv$librarycache group by inst_id 
union 
SELECT inst_id,'Dictionary Cache Hit Ratio ' "Ratio", to_char(ROUND ((1 - (SUM (getmisses) / SUM (gets))) * 100, 2)) "Percentage"
FROM gv$rowcache group by inst_id 
union 
Select inst_id, 'Get Hit Ratio ' "Ratio",to_char(round((sum(GETHITRATIO))*100,2)) "Get Hit"--, round((sum(PINHITRATIO))*100,2)"Pin Hit" 
FROM GV$librarycache 
where namespace in ('SQL AREA') 
group by inst_id 
union 
Select inst_id, 'Pin Hit Ratio ' "Ratio", to_char(round((sum(PINHITRATIO))*100,2))"Pin Hit" 
FROM GV$librarycache 
where namespace in ('SQL AREA') 
group by inst_id 
union 
select a.inst_id,'Soft-Parse Ratio ' "Ratio", to_char(round(100 * ((a.value - b.value) / a.value ),2)) "Soft-Parse Ratio" 
from (select inst_id,value from gv$sysstat where name like 'parse count (total)') a, 
(select inst_id, value from gv$sysstat where name like 'parse count (hard)') b 
where a.inst_id = b.inst_id 
union 
select a.inst_id,'Execute Parse Ratio ' "Ratio", to_char(round(100 - ((a.value / b.value)* 100),2)) "Execute Parse Ratio"
from (Select inst_id, value from gv$sysstat where name like 'parse count (total)') a, 
(select inst_id, value from gv$sysstat where name like 'execute count') b 
where a.inst_id = b.inst_id 
union 
select a.inst_id,'Parse CPU to Elapsed Ratio ' "Ratio", to_char(round((a.value / b.value)* 100,2)) "Parse CPU to Elapsed Ratio"
from (Select inst_id, value from gv$sysstat where name like 'parse time cpu') a, 
(select inst_id, value from gv$sysstat where name like 'parse time elapsed') b 
where a.inst_id = b.inst_id 
union 
Select a.inst_id,'Chained Row Ratio ' "Ratio", to_char(round((a.val/b.val)*100,2)) "Chained Row Ratio"
from (SELECT inst_id, SUM(value) val FROM gV$SYSSTAT WHERE name = 'table fetch continued row' group by inst_id) a,
(SELECT inst_id, SUM(value) val FROM gV$SYSSTAT WHERE name IN ('table scan rows gotten', 'table fetch by rowid') group by inst_id) b
where a.inst_id = b.inst_id 
union 
Select inst_id,'Latch Hit Ratio ' "Ratio", to_char(round(((sum(gets) - sum(misses))/sum(gets))*100,2)) "Latch Hit Ratio"
from gv$latch 
group by inst_id 
-- Available from 10g 
union 
select inst_id, metric_name, to_char(value) 
from gv$sysmetric 
where metric_name in ( 'Database Wait Time Ratio', 'Database CPU Time Ratio') 
and intsize_csec = (select max(intsize_csec) from gv$sysmetric) 
order by inst_id;