enq: DX – contention等待事件

等待事件说明

在Oracle中enq: DX 队列锁一般用意保护分布式事务(used to protect distributed transactions),对应的就存在 enq: DX – contention等待事件。

 

Id1 / Id2 含义

id2总是0。id1 代表其希望锁定的记录,所以总是distributed transaction elements队列中的一个条记录数(一个整数),由实例参数”distributed_transactions”决定。

 

50: waiting for 'enq: DX - contention' [Enq DX-00000005-00000000]
 .
 Short stack dump:
 ksdxfstk()+36<-ksdxcb()+2472<-sspuser()+176<-__sighndlr()+12<-call_user_handle
 r()+992<-sigacthandler()+104<-_syscall6()+32<-sskgpwwait()+196<-ksliwat()+1020
 <-kslwaitns_timed()+48<-kskthbwt()+232<-kslwait()+296<-K2GTElock1()+1160<-k2gg
 et()+524<-ksupucg()+3312<-opiodr()+2608<-ttcpip()+1188<-opitsk()+1532<-opiino(
 7/11/13 Bug 14663113 - QUERY OVER DBLINK GENERATING 2 SESSIONS ON REMOTE LOCKING EACH OTHER
 )+1128<-opiodr()+1536<-opidrv()+828<-sou2o()+80<-opimai_real()+124<-main()+152
 <-_start()+380
 .
 waiting for 'enq: DX - contention' wait_time=0, seconds since wait
 started=0
 name|mode=44580006, transaction entry #=5, 0=0
 blocking sess=0x41055c078 seq=15904
 Dumping Session Wait History
 for 'inactive transaction branch' count=1 wait_time=0.672186 sec
 branch#=0, waited=0, =0
 for 'enq: DX - contention' count=1 wait_time=2.929764 sec
 name|mode=44580006, transaction entry #=5, 0=0
 for 'enq: DX - contention' count=1 wait_time=2.929774 sec
 name|mode=44580006, transaction entry #=5, 0=0
 for 'inactive transaction branch' count=1 wait_time=0.976637 sec

 

1.1    DX, Distributed TX

How Many Resources:

1

How Many Locks:

1 per  process that tries to do a distributed transaction.

How Many Users:

1/ instance

Who Uses:

RECO’s

When Used:

Used to ensure that only one process is using a  distributed transaction slot at a time.

Id1, Id2 Combination:

Slot Number (of distributed transaction table), Always 0

Lock Value Block:

Not Used.

Init.ora Parameters:

distributed_transactions. (Distributed Database Option)

Scope:

Local Enqueue.

Deadlock Sensitive:

Yes.

Operation:

Synchronous.

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号