达梦数据库 表被锁的处理办法
1、查看锁语句
SELECT * FROM V$LOCK WHERE BLOCKED = '1';
字段说明:
【ADDR 】列 表示锁的内存地址;
【TRX_ID 】列 表示锁所属的事务 ID;
【LTYPE 】列 表示锁的类型,可能是 OBJECT(对象锁)或者 TID(TID 锁);
【LMODE】列 表示锁的模式,可能的取值有 S(共享锁)、X(排他锁)、IS(意向共享锁)、IX(意向排他锁);
【BLOCKED 】列 表示锁是否处于上锁等待状态,0 表示已上锁成功,1 表示处于上锁等待状态;
【TABLE_ID 】列
对于对象锁,表示 表对象或字典对象的 ID;
对于 TID 锁,表示封锁记录对应的表 ID;
【ROW_IDX】列 表示TID 锁封锁记录的行信息;
【TID 】列为 TID 锁对象事务 ID
2、查看锁的会话内容
select * from v$sessions where trx_id in (select trx_id from V$LOCK WHERE BLOCKED = '1');
主要字段说明:
【SESS_ID】:会话ID
【SESS_SEQ】:会话序列号,用来唯一标识会话
【SQL_TEXT】:取 sql 的头 1000 个字符
【STATE】:会话状态。共 6 种状态:CREATE 创建、STARTUP 启动、IDLE 空闲、ACTIVE 活动、WAIT 等待、UNKNOWN 未知
【TRX_ID】:事务 id
【CREATE_TIME】:会话创建时间
【ISO_LEVEL】:隔离级。0:读未提交;1:读提交;2:可重复读;3:串行化
3、根据【2】中的会话id【SESS_ID】释放锁
-- 停止一个活动的会话 sp_close_session(SESSION_ID)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?