DBAtlas · 数据库运维图谱

查找阻塞会话

Oracle会话与进程

命令

SELECT bl.sid       AS blocker_sid,
       bl.serial#   AS blocker_serial,
       bl.username  AS blocker_user,
       w.sid        AS waiter_sid,
       w.serial#    AS waiter_serial,
       w.username   AS waiter_user,
       w.seconds_in_wait AS wait_sec,
       w.event
FROM   v$session w
  JOIN v$session bl ON bl.sid = w.blocking_session
WHERE  w.blocking_session IS NOT NULL
ORDER BY w.seconds_in_wait DESC;

作用

列出阻塞者与等待者会话对,以及等待时间和事件。

适用场景

用于在“应用挂起 / enq: TX 等待”之类的锁问题中找出元凶。

注意

终止阻塞者之前先与业务负责人确认;它可能是关键操作。仅查询;无风险。

在 DBAtlas 中打开 →

相关内容