喜欢就来多看看

session allocation latch问题

上一篇 / 下一篇  2007-10-08 00:00:00 / 个人分类:回味&引申

session allocation latch问题

http://www.itpub.net/showthread.php?s=&threadid=866095&perpage=10&pagenumber=1


昨天晚上一回家上msn,一朋友就抛了个问题过来:
我的系统严重的latch free等待,系统运行极度缓慢,几乎hang了。系统出帐出不了……
latch free中,最为严重的sleep的是session allocation
LATCH# NAME GETS MISSES SLEEPS ---------- -------------------- ---------- ---------- ----------
row cache objects 7309905930 1076355567 24799351 156
shared pool 1.2642E+10 168368806 28928269 3
process allocation 102171945 9233300 29316107 157
library cache 2.9539E+10 1234502998 87366744
session allocation 3091150764 514908537 244535123
没见过那个session allocation
这个为什么会这么高

看见这个现象,我的第一反应是应用不断地在连接数据库,或者有并行查询。
让他查询 v$session.logon_time 和 listener.log 都没有异常
trace session 说没有任何 trc 文件产生,一trace session就没了。
然后查询 v$px_session 果然不断有创建和产生

由于要修改初始化参数需要停机,显然不现实,于是查看是否有表或者索引的 parallel degree 大于1
果然有一个索引的 parallel degree 是15。
嘱咐其小心修改(会导致sql 重新parse),一改果然系统速度恢复正常。

我没追问系统以前是否正常,但我估计可能是最近有人创建了一个索引,并且创建的时候并行度使用了15(多个进程并行创建),创建之后就没再注意了。 结果月初出帐的时候就遇到麻烦了。


-- session allocation 这个latch我也从来没有看见过,朋友说metalink搜索过也没什么说明。但根据字面描述我直接就定位到 连接的问题 或者并行查询问题,然后其实诊断方向就很明确,最后以修改 索引 并行度解决问题。 看起来整个过程非常简单…… 但是不是大家都会这么直接呢?

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 11530
  • 日志数: 1129
  • 图片数: 1
  • 书签数: 1
  • 建立时间: 2007-12-13
  • 更新时间: 2008-06-02

RSS订阅

Open Toolbar