欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

如何诊断过去某个时间段的等待事件原因?

程序员文章站 2022-05-25 15:37:32
...

如何诊断过去某个时间段的等待事件原因? 1.查看某个等待事件的阻塞会话 select event,blocking_session,sql_id,count(*) from dba_hist_active_sess_history ash where sample_time=to_timestamp('2013-06-24 12:25:00','yyyy-mm-dd hh24:mi:ss') and sampl



如何诊断过去某个时间段的等待事件原因?

1.查看某个等待事件的阻塞会话
select event,blocking_session,sql_id,count(*) from dba_hist_active_sess_history ash
where sample_time>=to_timestamp('2013-06-24 12:25:00','yyyy-mm-dd hh24:mi:ss')
and sample_time and event='cursor: pin S wait on X'
group by event,blocking_session,sql_id
/


查看等待事件的sql语句
SQL> select sql_text from v$sql where sql_id='8duehra3kdx62';


2.查看导致上面的session 等待的 blocking session
SQL> select event,blocking_session,sql_id,count(*) from dba_hist_active_sess_history ash
where sample_time>=to_timestamp('2013-06-24 12:25:00','yyyy-mm-dd hh24:mi:ss')
and sample_time and ash.session_id=2
group by event,blocking_session,sql_id

/