第一次碰到这个错误。 错误的名称很高大上,分!布!式!事务处理等待锁。
居然能搞出这么高端的错误来。呵呵。
查了原因使用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:其他人同时在操作该表,未提交事务。后续提交了。