达梦数据库表被锁住后解锁方法

达梦数据库表被锁住后解锁方法:
第一步:首先查看当前数据库中锁的状态
执行sql:SELECT * FROM v$lock
在这里插入图片描述

此时可以看到 事务2399被阻塞了,阻塞他的事务是2393,同样我们也可以通过 V T R X W A I T 视 图 查 看 谁 阻 塞 谁 。 执 行 s q l : S E L E C T ∗ F R O M V TRXWAIT 视图查看谁阻塞谁。 执行sql:SELECT * FROM V TRXWAITsqlSELECTFROMVTRXWAIT;
在这里插入图片描述

得出同样的结果,ID 为 2399 的事务正在等待 ID 为 2393 的事务,等待时间是1071599 毫秒。
接下来,通过 V S E S S I O N S 视 图 查 找 两 个 事 务 对 应 的 会 话 。 执 行 s q l : S E L E C T s e s s i d , s q l t e x t , s t a t e , t r x i d F R O M V SESSIONS 视图查找两个事务对应的会话。 执行sql:SELECT sess_id,sql_text,state,trx_id FROM V SESSIONSsqlSELECTsessid,sqltext,state,trxidFROMVSESSIONS;
在这里插入图片描述

第二步:解决方法
根据需求有两种解决办法:
第一种:提交或回滚产生阻塞的事务,此时,我们只需要在该会话下提交或回滚事务,锁自然会被释放,阻塞解决。
第二种:关闭产生阻塞的会话
同样,我们也可以使用系统过程 SP_CLOSE_SESSION(SESS_ID)来关闭对应的会话,具体使用方法如下。
执行sql:SP_CLOSE_SESSION(SESS_ID)
在这里插入图片描述
此时,被阻塞的锁已经被释放,相对应被锁的表已经被解锁可以正常使用,表就可以正常操作了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值