1.问题描述 在执行删除表操作的时候,提示锁超时问题:
2.问题分析 经分析,出现该问题的一般是该表还有其他用户在进行增删改操作,可以通过查看阻塞会话。可以通过查杀阻塞会话后再进行删除表的操作。
3.解决方法 解决方法如下:
(1)执行以下SQL查找该表相关的阻塞会话:
select "V$SESSIONS".SESS_ID,"V$SESSIONS".SQL_TEXT,"V$SESSIONS".STATE,"V$SESSIONS".CURR_SCH,"V$SESSIONS".USER_NAME,"V$SESSIONS".TRX_ID,"V$SESSIONS".CREATE_TIME
from v$sessions where trx_id in(
select trx_id from v$lock where table_id in (
select tab.id from sysobjects sch,sysobjects tab
where tab.schid=sch.id and sch.name||'.'||tab.name='SYSDBA.TEST'))
and SQL_TEXT like '%insert%' or SQL_TEXT like '%update%' or SQL_TEXT like '%delete%';
通过本次查找,找到了会话ID为10491322688的会话,执行了一条插入,未提交,导致删除表无法删除。
(2)通过执行关闭会话的操作来释放改表,sp_close_session(sess_id);
(3)重新执行删除操作,即可正常删除
————————————————
版权声明:本文为CSDN博主「放飞梦想」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:blog.csdn.net/luckyangle8…