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).

Reply via email to