首页 > 代码库 > DFS lock handle & inactive transaction branch
DFS lock handle & inactive transaction branch
Event | Waits | Time(s) | Avg wait (ms) | % DB time | Wait Class |
---|---|---|---|---|---|
DFS lock handle | 2,214 | 6,157 | 2781 | 66.08 | Other |
DB CPU |
| 2,107 |
| 22.62 |
|
inactive transaction branch | 1,046 | 1,046 | 1000 | 11.23 | Other |
cell smart table scan | 4,910 | 8 | 2 | 0.09 | User I/O |
SQL*Net more data to client | 356,561 | 7 | 0 | 0.07 | Network |
SQL> select session_id, user_id, sql_id, event,blocking_session ,count(event)
2 from v$active_session_history
3 where event = ‘DFS lock handle‘
4 group by session_id, user_id, sql_id, event,blocking_session
5 ;
SESSION_ID USER_ID SQL_ID EVENT BLOCKING_SESSION COUNT(EVENT)
---------- ---------- ------------- ---------------------------------------------------------------- ---------------- ------------
24 0 fpmrt9q566pwj DFS lock handle 1
1430 161 DFS lock handle 918 35906
2209 161 DFS lock handle 1949 35906
1563 57 6br3bdp02sujd DFS lock handle 1
SQL> select sql_text from v$sql where sql_id=‘6br3bdp02sujd‘
2 ;
SQL_TEXT
SELECT ATTACHED_SESSIONS FROM SYS.USER_DATAPUMP_JOBS WHERE JOB_NAME = :1
SELECT ATTACHED_SESSIONS FROM SYS.USER_DATAPUMP_JOBS WHERE JOB_NAME = :1
SQL> select distinct event,sql_id,session_id,blocking_session from v$active_session_history where session_id in (1949,918);
EVENT SQL_ID SESSION_ID BLOCKING_SESSION
---------------------------------------------------------------- ------------- ---------- ----------------
SQL*Net more data to client 3vtg8xc58vsux 918
SQL*Net more data to client 3vtg8xc58vsux 1949
SQL> select username,event,status,program,sql_id from v$session where sid in (1949,918);
USERNAME EVENT STATUS PROGRAM SQL_ID
------------------------------ ---------------------------------------------------------------- -------- ------------------------------------------------ -------------
DCDB_FOCENTER SQL*Net more data to client ACTIVE oracle@************b1 (TNS V1-V3) 3vtg8xc58vsux
DCDB_FOCENTER SQL*Net more data to client ACTIVE oracle@************b1 (TNS V1-V3) 3vtg8xc58vsux
两个会话的状态基本上没变过,该语句也很简单,所以判断两个会话有问题,经确认两个会话的应用已经关闭,决定kill 调,(需进一步关注该问题);;
inactive transaction branch
SQL> select session_id, user_id, sql_id, event,blocking_session ,count(event)
2 from v$active_session_history
3 where event = ‘inactive transaction branch‘
4 group by session_id, user_id, sql_id, event,blocking_session;
SESSION_ID USER_ID SQL_ID EVENT BLOCKING_SESSION COUNT(EVENT)
---------- ---------- ------------- ---------------------------------------------------------------- ---------------- ------------
1430 161 inactive transaction branch 6345
2209 161 inactive transaction branch 6345
SQL> /
USERNAME EVENT STATUS SQL_ID BLOCKING_SESSION
------------------------------ ---------------------------------------------------------------- -------- ------------- ----------------
DCDB_FOCENTER DFS lock handle ACTIVE 918
DCDB_FOCENTER DFS lock handle ACTIVE 1949
SQL>
SQL> /
USERNAME EVENT STATUS SQL_ID BLOCKING_SESSION
------------------------------ ---------------------------------------------------------------- -------- ------------- ----------------
DCDB_FOCENTER inactive transaction branch ACTIVE
DCDB_FOCENTER inactive transaction branch ACTIVE
--进一步跟踪文件分析
SQL> oradebug setospid 81605
Oracle pid: 227, Unix process pid: 81605, image: oracle@
SQL> oradebug unlimit
Statement processed.
SQL> oradebug dump processstate 10
Statement processed.
SQL> oradebug tracefile_name
/u01/app/oracle/diag/rdbms/primary/foc2/trace/foc2_ora_81605.trc
---------------------------------------------------
[5 samples, 14:10:08 - 14:10:12]
waited for ‘DFS lock handle‘, seq_num: 126
p1: ‘type|mode‘=0x44580005
p2: ‘id1‘=0xd06e3e25
p3: ‘id2‘=0x0
time_waited: >= 4 sec (still in wait)
[1 sample, 14:10:07]
waited for ‘inactive transaction branch‘, seq_num: 125
p1: ‘branch#‘=0x0
p2: ‘waited‘=0x0
p3: ‘‘=0x0
time_waited: 1.000897 sec (sample interval: 0 sec)
[6 samples, 14:10:01 - 14:10:06]
waited for ‘DFS lock handle‘, seq_num: 124
p1: ‘type|mode‘=0x44580005
p2: ‘id1‘=0xd06e3e25
p3: ‘id2‘=0x0
time_waited: 6.084005 sec (sample interval: 5 sec)
[1 sample, 14:10:00]
waited for ‘inactive transaction branch‘, seq_num: 123
p1: ‘branch#‘=0x0
p2: ‘waited‘=0x0
p3: ‘‘=0x0
time_waited: 1.000656 sec (sample interval: 0 sec)
[6 samples, 14:09:54 - 14:09:59]
waited for ‘DFS lock handle‘, seq_num: 122
p1: ‘type|mode‘=0x44580005
p2: ‘id1‘=0xd06e3e25
p3: ‘id2‘=0x0
time_waited: 5.919257 sec (sample interval: 5 sec)
[1 sample, 14:09:53]
waited for ‘inactive transaction branch‘, seq_num: 121 【这个等待还不太清楚】
p1: ‘branch#‘=0x0
p2: ‘waited‘=0x0
p3: ‘‘=0x0
time_waited: 1.001862 sec (sample interval: 0 sec)
[6 samples, 14:09:47 - 14:09:52]
waited for ‘DFS lock handle‘, seq_num: 120
p1: ‘type|mode‘=0x44580005
p2: ‘id1‘=0xd06e3e25
p3: ‘id2‘=0x0
time_waited: 6.031084 sec (sample interval: 5 sec)
[1 sample, 14:09:46]
waited for ‘inactive transaction branch‘, seq_num: 119
p1: ‘branch#‘=0x0
p2: ‘waited‘=0x0
p3: ‘‘=0x0
time_waited: 1.000598 sec (sample interval: 0 sec)
[6 samples, 14:09:40 - 14:09:45]
PENDING_Q:
lp 0x7b1f6ab20 gl KJUSERNL rl KJUSEREX rp 0x7b5a38280 [0xd06e3e25][0x0],[DX][ext 0x0,0x0]
master 2 gl owner 0x7dce529a0 possible pid 81605 xid 0000-0000-00000000 bast 0 rseq 4030 mseq 0 history 0x49ab549a
convert opt KJUSERGETVALUE KJUSERNODEADLOCKWAIT KJUSERNODEADLOCKBLOCK
GRANTED_Q :
lp 0x7b9cabe30 gl KJUSERPR rp 0x7b5a38280 [0xd06e3e25][0x0],[DX][ext 0x0,0x0]
master 2 gl owner 0x7bcd44380 possible pid 81601xid 0000-0000-00000000 bast 0 rseq 4030 mseq 0 history 0x95514955
open opt KJUSERNO_XID
CONVERT_Q:
lp 0x7b1f6ab20 gl KJUSERNL rl KJUSEREX rp 0x7b5a38280 [0xd06e3e25][0x0],[DX][ext 0x0,0x0]
master 2 gl owner 0x7dce529a0 possible pid 81605xid 0000-0000-00000000 bast 0 rseq 4030 mseq 0 history 0x49ab549a
convert opt KJUSERGETVALUE KJUSERNODEADLOCKWAIT KJUSERNODEADLOCKBLOCK
SQL> select sid from v$session where paddr in (select addr from v$process where spid=81601);
SID
----------
918
----------------------------------------
SO: 0x7b12b6a38, type: 17, owner: 0x7b4a7e860, flag: INIT/-/-/0x00 if: 0x3 c: 0x3
proc=0x7b4a7e860, name=ksxp IPC state object, file=ksxp2.h LINE:1509, pg=0
KSXP Context allocated
Dumping ksxp state
ksxppg=0x2b57d69553d8 ksxpsg=0x7b57f9620 ksxpsg_a=0x7b57f9620ksxpssg=0x7b57f9368 rm=0x7b94080d8
proc state: (pid: 227) [flg: 1 sg: 1](不存在)
curts 1407305412 wtctr 0
Dumping ksxp contexts
Context[2] 0x2b57d6a0aea0 GES state 1
Context[1] 0x2b57d6a0fcc0 gc ksxp component context state 1 (已经不存在,两个节点都不存在)
Dumping region queue
region count: 1
----------------------------------------
SQL> select sid from v$session where paddr in (select addr from v$process where spid=227);
no rows selected
SQL>