DFS lock handle
The session waits for the lock handle of a global lock request. The lock handle identifies a global lock. With this lock handle, other operations can be performed on this global lock (to identify the global lock in future operations such as conversions or release). The global lock is maintained by the DLM.
Oracle is waiting for the lock handle. The lock handle identifies a lock that is currently held. This lock handle is obtained from the lock state on the initial acquisition and may be used to reconstruct the state for conversion or release. This event is called if we are getting a lock and we want to know the lock handle (to identify the lock in future operations like conversions or release). The lock is maintained by the DLM.
Wait Time:
The session waits in a loop until it has obtained the lock handle from the DLM. Inside the loop there is a wait of 0.5 seconds.
Parameter Description
name Lock Name
mode Lock Mode
id1 ID1 (varies depends on Lock name)
id2 ID2 (varies depends on Lock name)
DFS lock handle is a wait event is associated with many different areas of database software code. It is important to identify the lock type, id1,id2 and understand the problem to resolve the root cause. Of course, many of these issues can be a new or already-identified software bugs too.
Mostly the DFS lock handle is associated with Sequences in RAC. When diagnosing issues with sequences, you are likely to observe heavy Global Enqueue Services traffic due to Global TX and TM enqueues, contenTon for the SQ enqueue, waits on “DFS Lock Handle”, and/or high wait Tmes for “row cache lock”. Besides adjusTng the CACHE value for sequences to be higher, you should also consider using DBMS_SHARED_POOL.KEEP to pin the sequence in the shared pool rowcache and reviewing your indexes performance for possible block split contenTon.