环境两节点RAC ORACLE 10.2.03
做AWR检查发现某一时间点出现如下等待事件
enq: TX - allocate ITL entry 3,612 1,761 488 57.6 Configurat
enq: TX - row lock contention 661 322 487 10.5 Applicatio
结合SQL执行情况分析得到如下sql导致的
update Task set version=:1, CALLBACK_DELAY_TIME=:2, commitDate=:3, CREATOR_ID=:4
, feedbackLastTaskUrl=:5, lastModify=:6, returnMessage=:7, status=:8, STRATEGY_I
D=:9, TASK_HIERARCHY=:10, taskType=:11, tmTaskId=:12 where id=:13 and version=:14
查看执行计划并没有异常,并且ID为主键
关于什么是ITL、ITL锁是如何产生的
http://space.itpub.net/35489/viewspace-85145
http://hi.baidu.com/numbed/blog/item/a5a43f81b538ddddbc3e1e37.html
当initrans <=2时 Itl slot默认为2,当initrans>2时,itl slot=initrans
initrans 可以进行动态修改,但是修改的只对新数据块有效,对老的已经使用过了的数据块不生效
maxtrans 控制可以使用的最大itl slot数量,前提是有足够的pctfree空间来保证,
当默认itl slot不够用时,可以在pctfree剩余空间中进行扩展使用。
解决该问题有以下几种方法:
1、调整应用程序
2、增大pctfree
3、增大initrans
阅读(1666) | 评论(0) | 转发(0) |