之前基於ash會話級檢視可以查當前阻塞以及被阻塞的會話資訊,如下:
示例1:
另外也可以用基於事務級別的檢視進行查詢阻塞的源頭,如下:
示例2
with ltr as
(select to_char(sysdate,
'yyyymmddhh24miss'
) tm,
s.inst_id,
s.sid,
s.serial
#, s.
status
, s.sql_id,
s.sql_child_number,
s.prev_sql_id,
xid,
t.start_scn,
to_char(t.start_date,
'yyyy-mm-dd hh24:mi:ss'
) start_time,
e.type
,e.block,
e.ctime/
3600 runtime_hour,
decode(e.ctime,0,
(sysdate - t.start_date)
*3600*24
, e.ctime) el_second
-- q.sql_text
from **$transaction t, **$session s,**$transaction_enqueue e
where t.start_date <= sysdate -
interval
'1'second
/*查詢開始多少秒的事務*/
示例1是基於事務,主要查詢的是還在進行中,未完成的事務,此指令碼雖然可以查出阻塞的源頭,但是無法取得阻塞的sql。
示例3
select a.inst_id,a.sid,a.
以上示例1-3,只能查當前阻塞與被阻塞的資訊,一旦ash在記憶體中被」flush「掉,就無法獲取歷史阻塞資訊。
雖然oracle沒有直接提供查詢阻塞源頭sql的方法,然而根據專案中多次實踐、**,我梳理了間接查詢歷史阻塞會話的方法
1、先確定好環境中阻塞發生的時間點,拉取ash報告
根據blocking session的% activity與top sessions中一樣,可以判斷出,會話4189阻塞了上面會話6245
2、在開啟追加日誌的前提下,撈取阻塞會話資訊
阻塞會話與被阻塞會話在logmnr中的記錄
select scn,
timestamp
, start_scn,
commit_scn,
xid,
operation,
seg_name,
sql_redo,
machine_name,
session_info,
thread#,
session
#,serial
#from archdump
where((
session
# = 4189 and serial# = 2382) or --blocking
(session
# = 2925 and serial# = 4336) or --blocking
(session
# = 3321 and serial# = 45918) or --blocking
(session
# = 6245 and serial# = 39240) or --blocked
(session
# = 2688 and serial# = 57682) --blocked
(session
# = 2846 and serial# = 4244) or --blocked
(session
# = 3320 and serial# = 42418)
)--blocked
and scn >=
791019425
and scn <=
791125745
and seg_name =
'frame_onlineuser'
order
by scn asc
3、在借助pl/sql高亮顯示相同功能,我們可以很清楚的看出,阻塞會話阻塞的其他會話
如上紅色的是阻塞者,綠色是被阻塞會話
4、總結
如何使用Logmnr方法分析資料庫日誌
您是不是在資料庫日誌問題上而頭痛呢?您是不是在苦於沒有想到乙個方便的解決方法而苦惱呢?本文用舉例的形式來講解使用logmnr方法分析資料庫日誌。一 安裝logminer工具 以下兩個指令碼以sysdba身份執行 oracle home rdbms admin dbmslm.sql oracle ho...
MTK 聯絡歷史分析
當聯絡歷史超過20個,且穿插撥打 本中的號碼時,聯絡歷史會出問題,表現為在聯絡歷史中的名字與其號碼不相符合,結果是 在聯絡歷史中撥號時撥的是其它號碼,與名字不符。經過反覆試驗,發現規律為 當聯絡歷史中的記錄超過10個時,撥打第11個號碼,會自動將原來第1個記錄的號碼修改為第11個的號碼,撥打第12個...
利用beautiful soup爬取歷史天氣資料
利用beautiful soup爬取歷史天氣資料 本文將會涉及requests.get 返回結果為404時,採用模擬瀏覽器訪問的模式。以及當遇到幾個相同的標籤時的處理辦法。由於本人還是個小白,故可能有不好的地方 參考了 以及 文章爬取的 為 如下 目標 爬取2019年香洲的天氣資料,包括最高氣溫,最...