等待事件说明
在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