High CPU by Sessions Holding DX Enqueue; Others Waiting 'enq: DX - contention' (Doc ID 1275884.1)
In this Document
Symptoms
Cause
Solution
References
APPLIES TO:
Oracle Database - Enterprise Edition - Version 10.2.0.4 to 11.1.0.7 [Release 10.2 to 11.1]
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.
SYMPTOMS
High CPU is observed by sessions attempting to end / abort a distributed transaction.
These sessions are holding a DX enqueue.
The DX enqueue is associated with distributed transaction activity.
Other sessions waiting on the above may exhibit higher than usual waits on related events:
- 'enq: DX - contention' , or
- 'inactive transaction branch'
A system state dump which can be generated using using the detail in Note:125568.1 shows that
those processes which are using CPU have a short stack which is similar to the following; please generate 3 system states 2 minutes apart :
... <-kssdct()+106<-kqldaso()+66<-ktcrab()+207<-ktdabt()+471<-k2labo()+203<-k2send() ...
k2send() indicates the processing of a 2 phase commit operation;
k2labo() indicates an abort() operation;
...
kssdct() is connected with deleting a state object .
This operation should be short lived and therefore should not appear in successive systemstates.
CAUSE
This may be connected with : Bug:8552942
SOLUTION
Apply the patch for bug:8552942
If this patch is not available. Please submit supporting alert.log , systemstates, AWR report details ,
and indicate why you believe your issue is similar to the detail in this note.
Please also provide details of patches currently applied .
|