title: How can I identify the rows involved in an Oracle deadlock?
body: <p>When Oracle detects a deadlock, a trace file like this is written:</p>
  
  <pre><code>*** SESSION ID:(56.27081) 2012-05-14 08:16:28.013
  DEADLOCK DETECTED ( ORA-00060 )
  [Transaction Deadlock]
  The following deadlock is not an ORACLE error. It is a
  deadlock due to user error in the design of an application
  or from issuing incorrect ad-hoc SQL. The following
  information may aid in determining the deadlock: Deadlock graph:
                         ---------Blocker(s)--------  ---------Waiter(s)---------
  Resource Name          process session holds waits  process session holds waits
  TX-0010002c-002719b5       146      56     X            164      44           X
  TX-000f002a-002edd1e       164      44     X            146      56           X
  session 56: DID 0001-0092-00050D0D       session 44: DID 0001-00A4-0002E3C2
  session 44: DID 0001-00A4-0002E3C2       session 56: DID 0001-0092-00050D0D
  Rows waited on:
  Session 44: obj - rowid = 00035157 - AAA1FXAAxAAASfLAAn
    (dictionary objn - 217431, file - 49, block - 75723, slot - 39)
  Session 56: obj - rowid = 00035157 - AAA1FXAAsAACjuiAAP
    (dictionary objn - 217431, file - 44, block - 670626, slot - 15)
  </code></pre>
  
  <p>How can I determine the rows involved based on the information above in order to assist in debugging the application?</p>