达梦8最终锁阻塞巡检 SQL

SELECT CASE WHEN l.blocked='1' THEN 'WAITER' ELSE 'HOLDER' END AS role,

s.sess_id,

l.trx_id,

l.lmode,

NVL(o.object_name,'-') AS object_name,

SUBSTR(s.sql_text,1,60) AS sql60

FROM (

SELECT *

FROM v$lock

WHERE TRIM(TRANSLATE(blocked,'01',' ')) IS NULL -- 仅 0 或 1

AND TRIM(TRANSLATE(table_id ,'0123456789',' ')) IS NULL

) l

LEFT JOIN dba_objects o

ON TRIM(l.table_id) = TO_CHAR(o.object_id)

JOIN v$sessions s

ON s.trx_id = l.trx_id

WHERE l.blocked='1' OR l.lmode >= 5

ORDER BY l.trx_id, l.blocked;

好,既然这段 SQL 已经能跑通,就把"最终可用版"整理成一行,方便你直接贴进代码------列类型映射也一起给你


  1. 最终锁阻塞巡检 SQL(单行可复制)

sql

复制

复制代码
SELECT CASE WHEN l.blocked='1' THEN 'WAITER' ELSE 'HOLDER' END AS role, s.sess_id, l.trx_id, l.lmode, NVL(o.object_name,'-') AS object_name, SUBSTR(s.sql_text,1,60) AS sql60 FROM (SELECT * FROM v$lock WHERE TRIM(TRANSLATE(blocked,'01','  ')) IS NULL AND TRIM(TRANSLATE(table_id,'0123456789',' ')) IS NULL) l LEFT JOIN dba_objects o ON TRIM(l.table_id)=TO_CHAR(o.object_id) JOIN v$sessions s ON s.trx_id=l.trx_id WHERE l.blocked='1' OR l.lmode>=5 ORDER BY l.trx_id,l.blocked;

  1. 列类型与中文含义(对应结果集)

表格

复制

列名 达梦数据类型 中文说明
role VARCHAR(6) 角色:HOLDER=持锁者,WAITER=等待者
sess_id BIGINT 会话 ID,可关联 V$SESSIONS 杀会话
trx_id BIGINT 事务 ID,同一事务内多把锁共享
lmode CHAR(2) 锁模式:4=S,5=SRX,6=X(>=5 即高粒度)
object_name VARCHAR(512) 被锁对象名(表/索引/分区)
sql60 VARCHAR(240) 当前 SQL 前 60 字节,快速定位业务语句

  1. 使用小贴士
  • 结果为空 → 当前没有高粒度锁或阻塞,系统健康。

  • 出现 WAITER → 同一 trx_id 下找 HOLDER,对比 lmode 即可判断是否需要 kill 会话。

  • 想杀锁:CALL SP_CLOSE_SESSION(sess_id);(需 SYSDBA)

相关推荐
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再5 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest5 天前
数据库SQL学习
数据库·sql
jnrjian5 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle