oracle 中怎样查看以前执行过的SQL语句是否有锁

2025-04-14 16:42:59
推荐回答(1个)
回答1:

用如下语句查询:


select 'blocker(' || lb.sid || ':' || sb.username || ')-sql:' ||       qb.sql_text blockers,       'waiter (' || lw.sid || ':' || sw.username || ')-sql:' ||       qw.sql_text waiters  from v$lock lb, v$lock lw, v$session sb, v$session sw, v$sql qb, v$sql qw where lb.sid = sb.sid   and lw.sid = sw.sid   and sb.prev_sql_addr = qb.address   and sw.sql_address = qw.address   and lb.id1 = lw.id1   and sw.lockwait is not null   and sb.lockwait is null   and lb.block = 1;

如果有被锁的sql,查询中有结果: