
Chapter 8. Performance tuning 239
Resolving deadlocks
There are three possible causes for deadlocks:
Lock wait
Lock escalations
Application logic and user SQL
For resolution or reduction of lock wait and lock escalations, use the techniques
mentioned in “Resolving lock escalations” on page 232.
It is worth considering the following points to reduce deadlocks caused due to
application logic and user SQL:
Release all locks held before switching contexts.
Do not access a given object from more than one context at a time.
Avoid concurrent DML, if possible.
For other suggestions, refer to “Resolution of lock wait and timeout” on page 230.
8.6.4 ...