监控Oracle系统中锁的常用脚本
来源:优易学  2011-11-4 17:37:58   【优易学:中国教育考试门户网】   资料下载   IT书店

  7. 使用v$session wait视图来鉴别闩竞争

  select event, p1text, p1, p2text, p2, seq#, wait_time, state

  from v$session_wait

  where sid = '&&1'

  and event = 'latch free';

  8. 列举用于闩竞争的信息

  ttitle center 'Latch Contention Report' skip 3

  col name form a25

  col gets form 999,999,999

  col misses form 999.99

  col spins form 999.99

  col igets form 999,999,999

  col imisses form 999.99

  select name, gets,

  misses * 100 / decode(gets, 0, 1, gets) misses,

  spin_gets * 100 / decode(misses, 0, 1, misses) spins,

  immediate_gets igets,

  immediate_misses * 100 / decode(immediate_gets, 0, 1, immediate_gets) imisses

  from v$latch

  order by gets + immediate_gets;

  /

  9. 检索闩睡眠率

  col name form a18 trunc

  col gets form 999,999,990

  col miss form 90.9

  col cspins form a6 heading 'spin | sl06'

  col csleep1 form a5 heading 'sl01 | sl07'

  col csleep2 form a5 heading 'sl02 | sl08'

  col csleep3 form a5 heading 'sl03 | sl09'

  col csleep4 form a5 heading 'sl04 | sl10'

  col csleep5 form a5 heading 'sl05 | sl11'

  col Interval form a12

  set recsep off

  select a.name, a.gets gets,

  a.misses * 100 / decode(a.gets, 0, 1, a.gets) miss,

  to_char(a.spin_gets * 100 / decode(a.misses, 0, 1, a.misses), '990.9') ||

  to_char(a.sleep6 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') cspins,

  to_char(a.sleep1 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') ||

  to_char(a.sleep7 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') csleep1,

  to_char(a.sleep2 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') ||

  to_char(a.sleep8 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') csleep2,

  to_char(a.sleep3 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') ||

  to_char(a.sleep9 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') csleep3,

  to_char(a.sleep4 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') ||

  to_char(a.sleep10 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') csleep4,

  to_char(a.sleep5 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') ||

  to_char(a.sleep11 * 100 / decode(a.misses, 0, 1, a.misses), '90.9') csleep5

  from v$latch a

  where a.misses <> 0

  order by 2 desc;

  /

上一页  [1] [2] [3] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训