对于数据库死锁,可以看这个:https://blog.51cto.com/u_15127618/3926870
而等待超过一定时间后,就会出现超时的情况。
这个时候可以先查询出表的锁:
select a.*,b.NAME,c.SESS_ID from v$lock a
left join sysobjects b on b.ID=a.TABLE_ID
left join v$sessions c on a.TRX_ID=c.TRX_ID where lower(b.name) = '表名';
根据查询到的SESS_ID,调用系统函数sp_close_session
关闭所有对应的会话:
sp_close_session(查询到的SESS_ID);
commit;