Oracle Database / Sessions, Locks & Transactions
ORA-00060: use the deadlock trace to fix transaction ordering
A deadlock is a cycle of conflicting resources, not simply a slow lock. Oracle reports an error to break the cycle and records diagnostic detail.
Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.
Start with this diagnostic
Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.
SELECT name, value FROM v$diag_info WHERE name = 'Diag Trace';
Read the result
The trace location lets the authorized DBA locate the deadlock graph near the event time. A current blocker query may no longer show the completed cycle.
Resolve and verify
Map the graph to statements and objects, then align application lock order and transaction boundaries. Retest concurrent business operations under controlled load.
Operational precautions
Do not assume the whole application transaction was automatically rolled back; the client must handle its transaction state correctly.