码迷,mamicode.com
首页 > 其他好文 > 详细

ORA-02049: 超时: 分布式事务处理等待锁诊断

时间:2015-05-13 19:50:25      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:

    正式环境有两个数据库A和B,在A库上建的dblink,业务是要将A库中的一些表,通过dblink更新到B库中去,更新的时候总是报错:ORA-02049: 超时: 分布式事务处理等待超时。

    之前我写过一篇blog:ORA-02049: 超时: 分布式事务处理等待锁模拟,大致的意思是通过A更新B中的数据时,由于B库中的数据有锁,一直都不释放,导致通过A更新报错。

诊断如下:

在B库上执行,找到产生锁的会话

 select s.owner, s.object_name, l.SID, l.TYPE, l.LMODE, l.REQUEST, l.BLOCK
  from gv$lock l, dba_objects s
 where l.ID1 = s.object_id
   and s.object_name = ‘TEST‘;.


再找到有锁的会话信息,然后通过osuser,machine找到具体应用,停止应用后再进行测试就可以了。
select sid,username,schemaname,osuser,machine,program from gv$session where sid=1142;

ORA-02049: 超时: 分布式事务处理等待锁诊断

标签:

原文地址:http://blog.csdn.net/stevendbaguo/article/details/45694943

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!