`

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

 
阅读更多

酷第一次碰到这个错误。 错误的名称很高大上,分!布!式!事务处理等待锁。

 

居然能搞出这么高端的错误来。呵呵。

查了原因使用dblink连接远端数据库进行写入时。1)意外的中断。 2)网络不稳定。

 

查看了锁定的表

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

 是AC83。 

尝试杀掉进程,失败。提示:没有该对话。

 

折腾了半个小时左右,再查询锁表情况,不见了!?

 

再通过dblink进行insert。成功写入

---==============自己的理解==========

猜测1:网络不稳定,导致事务没有中断成功。即时本地已成功关闭了plsqldev,但远程端的数据库还没有完成rollback的动作。

所以接着打开查看会看到表被锁。后续等待时间后,远端数据库对表事务处理完成。锁自动解除,便可继续对表操作。

 

猜测2:其他人同时在操作该表,未提交事务。后续提交了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics