Top Blocking Sessions
Blocking session activity percentages are calculated with respect to waits on enqueues, latches and "buffer busy" only
'% Activity' represents the load on the database caused by a particular blocking session
'# Samples Active' shows the number of ASH samples in which the blocking session was found active.
'XIDs' shows the number of distinct transaction IDs sampled in ASH when the blocking session was found active.
Blocking Sid % Activity Event Caused % Event User Program # Samples Active XIDs
307,18074 56.69 enq: TM - contention 56.69 MESPR oracle@MESDB2 (J001) 435/1,802 [ 24%] 0
345,25137 22.20 enq: TM - contention 22.20 MESPR oracle@MESDB2 (J000) 982/1,802 [ 54%] 1
279,48607 4.40 enq: TM - contention 3.72 ** NOT FOUND ** BLOCKING SESSION NOT FOUND 0/1,802 [ 0%]
378,10813 3.43 enq: TX - row lock contention 3.42 MESPR dfacavi.exe 435/1,802 [ 24%] 1
417,10995 1.71 enq: TX - row lock contention 1.71 MESPR dfacavi.exe 435/1,802 [ 24%] 1
去 dba_hist_active_sess_history或v$active_session_history找下这几个blocking session执行过的SQL,找下对表wo_work_order_item的DML。
找到源头,结合被锁的SQL,一起分析下,看下是什么原因导致的。如果是业务逻辑不合理,需要调整。