10g中的transaction等待事件

最近公司数据库出现了这样一个现象:
TX enqueue等待队列很长,而持有锁的会话所执行UPDATE语句的执行计划没有任何问题,执行效率应该很高,但是语句持有锁的时间却很长,这些会话的等待事件是transaction,从v$active_session_history中查看持有锁会话的相关信息,发现这些会话一直处于等待状态,等待事件一直是transaction。

关于transaction等待事件:等待其它事务rollback,这些事务可能是异常中断或者手工rollback,因为一些锁没有释放,阻塞了其它会话

[@more@]

从以上可知,公司数据库中曾发生大的事务被rollback的情况,一些事务等待rollback完成导致语句执行效率低从而阻塞了其它会话。

事实上,从数据库警告日志中发现了这些信息:
Thu Jan 28 11:27:27 2010
Transaction recovery: lock conflict caught and ignored
Transaction recovery: lock conflict caught and ignored
Transaction recovery: lock conflict caught and ignored
从smon和pmon的trace文件中,发现了下面的信息:
*** 2010-01-28 11:21:51.510
[claim lock for dead process][lp 0x700000d67c709a8][p 0x700000d61eec7b0.532690][hist x977d4951]
*** 2010-01-28 11:37:05.406
[claim lock for dead process][lp 0x700000d5a3cf9c8][p 0x700000d61f2a970.1020760][hist x49514951]

*** 2010-01-28 12:25:06.546
Serial Transaction recovery caught exception 30319
*** 2010-01-28 12:29:06.763
Serial Transaction recovery caught exception 30319
*** 2010-01-28 12:33:08.776
Serial Transaction recovery caught exception 30319
*** 2010-01-28 12:37:08.967
Serial Transaction recovery caught exception 30319
这些进一步证实了上面的结论,事实上,[claim lock for dead process][lp 0x700000d67c709a8][p 0x700000d61eec7b0.532690]也说明未完成rollback的进程ID为:532690

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/85922/viewspace-1030978/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/85922/viewspace-1030978/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值