Something has gone wrong with your test, you've produced a normal data deadlock. The ITL deadlock graph you should see from my description would have two lines with the cross-over on an X lock and an S lock on each line.
But the deadlock graph you are trying to pin down does look very odd - as you say it does look like a self-deadlock. Because of the usual mess-up from email, I can't tell if your session is holding an exclusive and waiting for a share, or holding a share and waiting for an exclusive, though. There are seven different reasons for TX/4 lock waits (hence deadlocks) that I've found so far - but I don't think I've seen one quite like this. Are you using any of: distributed transaction partitioned tables parallel DML Autonomous transactions Jonathan Lewis http://www.jlcomp.demon.co.uk Author of: Practical Oracle 8i: Building Efficient Databases Next Seminar - Australia - July/August http://www.jlcomp.demon.co.uk/seminar.html Host to The Co-Operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html -----Original Message----- To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]> Date: 22 May 2002 16:15 |Thanks for the replies (K,Jonathan,Anjo). I'm getting |deadlocks to occur but they're not producing the |deadlock graphs I was expecting to see. | |I'm looking to reproduce the scenario that will |generate the following kind of deadlock graph--where |it looks like a self-deadlock: | | ---------Blocker(s)-------- --- |------Waiter(s)--------- |Resource Name process session holds waits |process session holds waits |TX-00050032-00002143 22 23 |X 22 23 S |session 23: DID 0001-0016-000017E7 session 23: |DID 0001-0016-000017E7 |Rows waited on: |Session 23: no row | |But, the deadlock graph that my testing is generating |looks like: | ---------Blocker(s)-------- ---- |-----Waiter(s)--------- |Resource Name process session holds waits |process session holds waits |TX-00030052-00001fb9 11 11 |X 12 15 X |TX-00040058-000023ef 12 15 |X 11 11 X |session 11: DID 0001-000B-00000002 session 15: DID |0001-000C-00000002 |session 15: DID 0001-000C-00000002 session 11: DID |0001-000B-00000002 |Rows waited on: |Session 15: obj - rowid = 0000153E - AAABU+AAFAAAALIAAA |Session 11: obj - rowid = 0000153E - AAABU+AAFAAAAACAAA | | |It is my understanding that the deadlock graph I am |trying to reproduce is caused by ITL shortage |deadlocks. I have verified, via |dbms_rowid.rowid_block_number(), that I am updating |rows in different blocks. | |Thanks again. |-w | -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Jonathan Lewis INET: [EMAIL PROTECTED] Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
