达梦数据库会话、事务阻塞排查步骤
查询阻塞的事务ID
select * from v$trxwait order by wait_time desc;
--单机
select * from v$dsc_trxwait order by wait_time desc;
–DSC集群
查询阻塞事务的会话信息
select sf_get_session_sql(sess_id),* from v$sessions where trx_id=69667;
--单机
select sf_get_session_sql(sess_id),* from gv$sessions where trx_id=69667;
--DSC集群
查询问题SQL
cat dmsql_xxxxxx.log | grep “trxid:69967”
–查找问题DML SQL,保留
注:需要开启SVR_LOG参数
杀掉会话
sp_close_session(139926142266440);
注:对于DSC,需要在相应的节点执行。
其他SQL:
select * from v$lock where trx_id=69667;
–--可用于查询阻塞事务的相关锁信息