欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oralce 表被锁导致ExecuteNonQuery执行无响应,也不报错

程序员文章站 2022-06-02 12:18:30
...

在做一个导入操作时,发现每次执行到一行记录时就出现ExecuteNonQuery执行无响应,也不报错,卡住不动了,最后发现是数据表这行数据被锁了,出现:enq: TX - row lock contention ,有可能是其他系统在操作这个记录时锁住了,导致要更新这行记录时就没了响应,最后把锁住数据表的进程杀掉才继续向下执行了

1、找到锁表的SID
SELECT a.sid, b.owner, object_name, object_type FROM v$lock a, all_objects b WHERE TYPE = 'TM' and a.id1 = b.object_id; 
2、根据SID找到SERIAL
SELECT SID,SERIAL# FROM v$session WHERE sid = 73;
3、终止
alter system kill session '73, 10229';
相关标签: oracle锁表