为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:
【CPU】:
【问题描述】*:操作大致过程:
表t1,昨天做了一个delete,没提交,会话自动断开了。在今天做了一个alter table t1 add column的操作,卡住了。
但通过查询死锁语句没有锁等待或者死锁出现。
最后在v$sessions中找到这两个SQL,将两个会话都执行了sp_close_sess()。
我的问题是:锁等待只要不解锁应该一直处于等待中,为什么会查不出来呢?
查询锁等待的SQL:
简单点,直接这样查阻塞SELECT * FROM V$TRXWAIT
没有记录说明没阻塞。
那么另外一种可能是加列的表太大,操作本身耗时很久,想表达一点是:“卡住”了不一定是阻塞
可以在执行alter table t1 add column的操作的同时,再开另一个会话查询select * from v$trxwait;看看是否有等待。
可以看看这个https://www.modb.pro/db/44517