我们执行一些sql的时候发现有些sql会被行锁阻塞40s的时间
我想知道有没有什么办法找到是哪个SQL上了锁导致阻塞
集群版本:4.2.1.10
模式:Oracle
select
/+DYNAMIC_SAMPLING(1)/
concat(‘kill ‘,c.svr_ip,’ /’,c.svr_ip,’:2881/’) as kill_sid,
b.database_name,
b.table_name,
a.svr_ip,
case when block = 0 then ‘持有锁会话’ ELSE ‘等待锁会话’ END AS block,
c.id,
a.type,
a.trans_id,
a.id2,
a.lmode,
a.CTIME / 1000000 as CTIME,
c.info,
c.command,
c.time,
c.total_time,
c.user_client_ip,
c.retry_cnt,
c.retry_info,
c.thread_id,
c.trace_id
from
gv$ob_locks a,
cdb_ob_table_locations b,
gv$ob_processlist c
where
a.id1 = b.tablet_id
and a.tenant_id = b.tenant_id
and c.trans_id = a.trans_id
and b.tenant_id = 1002
and b.role = ‘LEADER’
and id2 is not null;
使用的时候修改一下tenant_id的值
用SYS租户执行下面的语句看下那个会话阻塞了那个会话