oracle9.2.0.7
os:rhel 4
.trc如下:
*** 2008-05-15 07:44:01.044
*** SESSION ID 23.37189) 2008-05-15 07:44:01.043
DEADLOCK DETECTED
Current SQL statement for this session:
UPDATE WIP SET IN_QTY=IN_QTY+1,OK_INQTY=OK_INQTY+1,EOH_QTY=EOH_QTY+1 WHERE FAC_ID = :B5 AND WORK_CTR = :B4 AND PROD_NBR = :B3 AND CUST_NBR = :B2 AND TRANS_DATE = TO_DATE(:B1 , 'MM/DD/YYYY')
----- PL/SQL Call Stack -----
object line object
handle number name
0xb76c99d8 322 procedure CPTQ.UPDATE_WIPQTY_OK
0xb53a8050 641 procedure CPTQ.OPR_OK
0xb7884328 1 anonymous block
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-00020029-00051a87 106 23 X 113 138 X
TX-000a0019-00053741 113 138 X 106 23 X
session 23: DID 0001-006A-0006A39F session 138: DID 0001-0071-00001B3D
session 138: DID 0001-0071-00001B3D session 23: DID 0001-006A-0006A39F
Rows waited on:
Session 138: obj - rowid = 00007F6B - AAAH9rAAZAAADbSAAM
(dictionary objn - 32619, file - 25, block - 14034, slot - 12)
Session 23: obj - rowid = 00008C4A - AAAIxKAAXAAABclAAj
(dictionary objn - 35914, file - 23, block - 5925, slot - 35)
Information on the OTHER waiting sessions:
Session 138:
pid=113 serial=58232 audsid=1088878 user: 66/CPTQ
O/S info: user: 5067172, term: Q1OPI-Z12, ospid: 5644:5772, machine: CPTQMODULEQ1OPI-Z12
program: LCMMES.EXE
application name: LCMMES.EXE, hash value=0
Current SQL Statement:
UPDATE WODL SET WIP_QTY = WIP_QTY - 1, COMP_QTY = COMP_QTY + 1 WHERE FAC_ID = :B3 AND PROD_NBR = :B2 AND WORK_CTR = :B1
End of information on OTHER waiting sessions.
===================================================
为什么update不同的表也会死锁啊.WIP与WODL也不存在外键的关系啊.
大家帮我看看.谢谢!
os:rhel 4
.trc如下:
*** 2008-05-15 07:44:01.044
*** SESSION ID 23.37189) 2008-05-15 07:44:01.043
DEADLOCK DETECTED
Current SQL statement for this session:
UPDATE WIP SET IN_QTY=IN_QTY+1,OK_INQTY=OK_INQTY+1,EOH_QTY=EOH_QTY+1 WHERE FAC_ID = :B5 AND WORK_CTR = :B4 AND PROD_NBR = :B3 AND CUST_NBR = :B2 AND TRANS_DATE = TO_DATE(:B1 , 'MM/DD/YYYY')
----- PL/SQL Call Stack -----
object line object
handle number name
0xb76c99d8 322 procedure CPTQ.UPDATE_WIPQTY_OK
0xb53a8050 641 procedure CPTQ.OPR_OK
0xb7884328 1 anonymous block
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-00020029-00051a87 106 23 X 113 138 X
TX-000a0019-00053741 113 138 X 106 23 X
session 23: DID 0001-006A-0006A39F session 138: DID 0001-0071-00001B3D
session 138: DID 0001-0071-00001B3D session 23: DID 0001-006A-0006A39F
Rows waited on:
Session 138: obj - rowid = 00007F6B - AAAH9rAAZAAADbSAAM
(dictionary objn - 32619, file - 25, block - 14034, slot - 12)
Session 23: obj - rowid = 00008C4A - AAAIxKAAXAAABclAAj
(dictionary objn - 35914, file - 23, block - 5925, slot - 35)
Information on the OTHER waiting sessions:
Session 138:
pid=113 serial=58232 audsid=1088878 user: 66/CPTQ
O/S info: user: 5067172, term: Q1OPI-Z12, ospid: 5644:5772, machine: CPTQMODULEQ1OPI-Z12
program: LCMMES.EXE
application name: LCMMES.EXE, hash value=0
Current SQL Statement:
UPDATE WODL SET WIP_QTY = WIP_QTY - 1, COMP_QTY = COMP_QTY + 1 WHERE FAC_ID = :B3 AND PROD_NBR = :B2 AND WORK_CTR = :B1
End of information on OTHER waiting sessions.
===================================================
为什么update不同的表也会死锁啊.WIP与WODL也不存在外键的关系啊.
大家帮我看看.谢谢!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12045182/viewspace-343080/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12045182/viewspace-343080/