Deadlock detects [message #329930] |
Fri, 27 June 2008 01:41 |
ora_2007
Messages: 430 Registered: July 2007 Location: Mumbai
|
Senior Member |
|
|
Today morning i seen deadlock in the trace file.
Alert_log file details
Fri Jun 27 03:27:19 2008
Memory Notification: Library Cache Object loaded into SGA
Heap size 5118K exceeds notification threshold (2048K)
Details in trace file /home/oracle/admin/ora01/udump/ora01_ora_12327.trc
KGL object name :SELECT /*+rule*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_T', '7')), KU$.OBJ_NUM FROM SYS.KU$_FHTABLE_VIEW KU$
WHERE NOT (BITAND (KU$.PROPERTY,8192)=8192) AND NOT BITAND(KU$.SCHEMA_OBJ.FLAGS,128)!=0
AND KU$.SCHEMA_OBJ.NAME=:NAME1 AND KU$.SCHEMA_OBJ.OWNER_NAME=:SCHEMA2
ora01_ora_12327.trc file details.
I posted only those things which can be readable.
/home/oracle/admin/ora01/udump/ora01_ora_12327.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning and Data Mining options
ORACLE_HOME = /home/oracle/product/10gR2
System name: Linux
Node name:
Release:
Version:
Machine:
Instance name:
Redo thread mounted by this instance: 1
Oracle process number:
Unix process pid: 12327, image:
*** 2008-03-17 09:03:15.181
*** SERVICE NAME:(SYS$USERS) 2008-03-17 09:03:15.164
*** SESSION ID:(148.8874) 2008-03-17 09:03:15.164
DEADLOCK DETECTED
[Transaction Deadlock]
Current SQL statement for this session:
UPDATE FELTVALUES A SET A.VALUE = REPLACE(:B4 ,'"','"') WHERE A.DB_ID = :B3 AND A.LEAD_ID=:B2 AND A.FF_ID=:B1
----- PL/SQL Call Stack -----
object line object
handle number name
0xa1651b00 396 package body P_LEAD
0xa17c4310 1762 package body RESPONSEHANDLER
0x8cb976f0 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-0036000d-0000002c 30 148 X 44 62 S
TX-00370010-0000002b 44 62 X 30 148 X
session 148: DID 0001-001E-00014A6F session 62: DID 0001-002C-0000410E
session 62: DID 0001-002C-0000410E session 148: DID 0001-001E-00014A6F
Rows waited on:
Session 62: obj - rowid = 00000000 - D/////AAjAAAABpAAA
(dictionary objn - 0, file - 35, block - 105, slot - 0)
Session 148: obj - rowid = 000100F0 - AAAQDwAAWAADb6xABJ
(dictionary objn - 65776, file - 22, block - 900785, slot - 73)
Information on the OTHER waiting sessions:
Session 62:
pid=44 serial=26098 audsid=3222321 user: 1446/<none>
O/S info: user: TEST_terminal, term: TEST, ospid: 3772:1732, machine: WORKGROUP\TEST
program: dllhost.exe
application name: dllhost.exe, hash value=0
Current SQL Statement:
UPDATE FELTVALUES A SET A.VALUE = REPLACE(:B4 ,'"','"') WHERE A.DB_ID = :B3 AND A.LEAD_ID=:B2 AND A.FF_ID=:B1
End of information on OTHER waiting sessions.
===================================================
What i understood is that from session with spid 12327 some sql statemens executed which caused the deadlock.
I want to know is that what exactly is the query and and for what values the deadlock occured.
Thanks,
[Updated on: Fri, 27 June 2008 01:43] Report message to a moderator
|
|
|
|
Re: Deadlock detects [message #329941 is a reply to message #329930] |
Fri, 27 June 2008 02:03 |
ora_2007
Messages: 430 Registered: July 2007 Location: Mumbai
|
Senior Member |
|
|
Thanks,
So i understand is that the query is
UPDATE FELTVALUES A SET A.VALUE = REPLACE(:B4 ,'"','"') WHERE A.DB_ID = :B3 AND A.LEAD_ID=:B2 AND A.FF_ID=:B1
And it is given
package body P_LEAD
package body RESPONSEHANDLER
anonymous block
Does it mean the above query is executed from the package P_LEAD, RESPONSEHANDLER and anonymous block????
Rows waited on:
Session 62: obj - rowid = 00000000 - D/////AAjAAAABpAAA
(dictionary objn - 0, file - 35, block - 105, slot - 0)
Session 148: obj - rowid = 000100F0 - AAAQDwAAWAADb6xABJ
(dictionary objn - 65776, file - 22, block - 900785, slot - 73)
So id's are D/////AAjAAAABpAAA and AAAQDwAAWAADb6xABJ.
But i find records for rowid = AAAQDwAAWAADb6xABJ not for D/////AAjAAAABpAAA
Please explain about it.
Thanks
[Updated on: Fri, 27 June 2008 02:03] Report message to a moderator
|
|
|
Re: Deadlock detects [message #329959 is a reply to message #329941] |
Fri, 27 June 2008 02:30 |
|
Michel Cadot
Messages: 68718 Registered: March 2007 Location: Saint-Maur, France, https...
|
Senior Member Account Moderator |
|
|
Quote: | Does it mean the above query is executed from the package P_LEAD, RESPONSEHANDLER and anonymous block????
|
At line 1 of anonymous block you called RESPONSEHANDLER package which called, at its line 1762, P_LEAD package which executed the update at its line 396.
Quote: | But i find records for rowid = AAAQDwAAWAADb6xABJ not for D/////AAjAAAABpAAA
|
The second one is not a valid rowid meaning this information was not available at dump time. Maybe because session 62 is holding a lock at table level.
Have a look at what dllhost.exe is doing.
Regards
Michel
|
|
|