久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

數(shù)據(jù)庫中如何查看歷史會話等待事件對應的session信息

174次閱讀
沒有評論

共計 2463 個字符,預計需要花費 7 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下數(shù)據(jù)庫中如何查看歷史會話等待事件對應的 session 信息,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

此處以 enq: TX – row lock contention 等待時間為例。

如果在此回話發(fā)生在 awr 快照信息默認的保存天數(shù)以內(nèi)。
可以通過如下 sql 查詢到相關(guān)的 session 信息。
select * from DBA_HIST_ACTIVE_SESS_HISTORY where event like %enq: TX – row lock contention%

DBA_HIST_ACTIVE_SESS_HISTORY 中的 blocking_session 字段關(guān)聯(lián) DBA_HIST_ACTIVE_SESS_HISTORY 中的 session_id 找到對應的 sql_id 從而得到回話信息。

可以通過如下查詢直接獲取信息:
select t.instance_number,
       t.sample_time,
       lpad(– , 2 * (level – 1), – ) || t.client_id,
       t.session_id,
       t.blocking_session,
       t.session_serial#,
       t.sql_id,
       t.event,
       t.session_state,
       level,
       connect_by_isleaf,
       connect_by_iscycle
  from dba_hist_active_sess_history  t
 where snap_id between 36878 and 36879
 start with blocking_session is not null
        and event like enq: TX – row lock contention%
connect by nocycle sample_time = prior sample_time
       and session_id = prior blocking_session
       and session_serial# = prior blocking_session_serial#

其中 blocking session 為正在阻塞該回話的 session

實戰(zhàn)案例:
查看等待事件為行鎖的 session
select a.snap_id,
       a.sql_id,
       a.session_id,
       a.session_serial#,
       a.blocking_session,
       a.blocking_session_serial#,
       a.blocking_session_status
  from DBA_HIST_ACTIVE_SESS_HISTORY a
 where event like %enq: TX – row lock contention%
   and snap_id between 20399 and 20400

編寫子查詢,查看阻塞回話,并統(tǒng)計阻塞次數(shù)
select a.blocking_session,
       a.blocking_session_serial#,
       count(a.blocking_session)
  from DBA_HIST_ACTIVE_SESS_HISTORY a
 where event like %enq: TX – row lock contention%
   and snap_id between 20399 and 20400
 group by a.blocking_session, a.blocking_session_serial#
 order by 3 desc
 
查看阻塞回話的 sql_id 和被阻塞的 sql_id,條件為阻塞大于 19 次的
select distinct b.sql_id,c.blocked_sql_id
  from DBA_HIST_ACTIVE_SESS_HISTORY b,
       (select a.sql_id as blocked_sql_id,
       a.blocking_session,
               a.blocking_session_serial#,
               count(a.blocking_session)
          from DBA_HIST_ACTIVE_SESS_HISTORY a
         where event like %enq: TX – row lock contention%
           and snap_id between 20399 and 20400
         group by a.blocking_session, a.blocking_session_serial#,a.sql_id
        having count(a.blocking_session) 19
         order by 3 desc) c
 where b.session_id = c.blocking_session
   and b.session_serial# = c.blocking_session_serial#
   and b.snap_id between 20399 and 20400

動態(tài)性能視圖注釋:

V$ACTIVE_SESSION_HISTORY displays sampled session activity in the database. It contains snapshots of active database sessions taken once a second. A database session is considered active if it was on the CPU or was waiting for an event that didn t belong to the Idle wait class. Refer to the V$EVENT_NAME view for more information on wait classes.

看完了這篇文章,相信你對“數(shù)據(jù)庫中如何查看歷史會話等待事件對應的 session 信息”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-24發(fā)表,共計2463字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 瓦房店市| 合作市| 巴里| 合阳县| 依安县| 牡丹江市| 金门县| 拜城县| 南阳市| 龙里县| 威信县| 阿克苏市| 大丰市| 五原县| 略阳县| 博湖县| 荔浦县| 阿拉善盟| 永康市| 邯郸市| 翁源县| 曲阳县| 亚东县| 砀山县| 大英县| 左权县| 贵溪市| 当涂县| 蒲城县| 平利县| 衡水市| 霍邱县| 晋城| 绥芬河市| 乌拉特后旗| 鹤山市| 绥化市| 左权县| 湄潭县| 宾川县| 衡南县|