Hi,
    Multiple instances of my application runs on the same table.  Each
of the instance operates on distinct sets of rows on the same table. 
But even then after a few thousand records, the update statement on a
particular table comes out with ORA-00060 Deadlock detected.  The
update is based on rowid.  And none of the instances (of my
application) operate on the same row.
    The trace files have reported the following:
  -   2002-09-03 01:45:07.427
  
-   SESSION ID:(13.525) 2002-09-03 01:45:07.391
DEADLOCK DETECTED
Current SQL statement for this session:
update CUST_BILLPARAMS  set
last_billed_date=to_date(:b0,'DD/MM/YYYY'),next_invc
_dt=to_date(:b1,'DD/MM/YYYY') where rowid=chartorowid(:b2)
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-00040002-000019b9        12      13     X             11       7   
       S
TX-00020045-0000199a        11       7     X             12      13   
       S
session 13: DID 0001-000C-00000002      session 7: DID
0001-000B-00000002
session 7: DID 0001-000B-00000002       session 13: DID
0001-000C-00000002
Rows waited on:
Session 7: no row
Session 13: no row
 PROCESS STATE
 Process global information:
     process: 800b5144, call: 8012d420, xact: 802caa24, curses:
800d9ef0, usrses
: 800d9ef0
 SO: 800b5144, type: 1, owner: 0, pt: 0, flag: INIT/-/-/0x00
  (process) Oracle pid=12, calls cur/top: 8012d420/8012d420, flag: (0)
-
            int error: 0, call error: 0, sess error: 0, txn error 0
  (post info) last post received: 85 0 4
              last post received-location: kslpsr
              last process to post me: 800b3864 1 2
              last post sent: 0 0 13
              last post sent-location: ksasnd
              last process posted by me: 800b3864 1 2
    (latch info) wait_event=0 bits=10
      holding     8000416c Parent+children enqueue hash chains level=4
        Location from where latch is held: ksqcmi: kslgpl:
        Context saved from call: 0
        state=busy
 
Can anyone help in finding out what the problem is ? I've tried to
change the INITRANS to 4 on the affected table (cust_billparams) and
have increased the pctfree too.  Everytime the application comes out
after processing 50K - 100K records.
Thanks in advance.
Arun
Received on Fri May 03 2002 - 02:57:47 CDT