Re: [Fwd: Re: [Fwd: Re: Deadlock inserting into same rowid (different block)]]

  • From: D'Hooge Freek <Freek.DHooge@xxxxxxxxx>
  • To: "Patterson, Joel" <jpatterson@xxxxxxxxxx>
  • Date: Thu, 21 Mar 2013 21:01:17 +0100

Joel,
If the bind variables are not listed in the logfile generated for the
deadlock, you could try to use following statement to get a errorstack
dump after a deadlock:

alter system set events 'deadlock trace name errorstack level 3,
lifetime 1';

This will trigger a level 3 errorstack when a session encounters a
deadlock.
You could then use following instructions to get the values of the bind
variable:
http://tech.e2sn.com/oracle/troubleshooting/how-to-read-errorstack-output

Note that this will not show you the variables used by the other session
involved, but you can query the table for the values found in the
dumpfile (as there is only 1 session rolled back). If you find a record
with the same value in the table, then there is something really strange
going on (as a sequence value retrieved but not used should be lost).

Also I think the event will only be set for new sessions, not sessions
already present on the database.


About the evolution remark, I'm using the evolution email client and it
seems that when I post non plain text emails, these are reduced to
gibberish like &‡¥üéëiÏÞiÈg¡×¡jÈ­þÊ0žÇ­¡÷r±ê®zwžé›z»ÿø when
appearing on freelists.
This has nothing to do with your emails.

Kind regards,

-- 
Freek D'Hooge
Uptime
Oracle Database Administrator
email: freek.dhooge@xxxxxxxxx
tel +32(03) 451 23 82
http://www.uptime.be
disclaimer: www.uptime.be/disclaimer.html




On do, 2013-03-21 at 19:47 +0100, Patterson, Joel wrote:
> Don't take what I said verbatim.   It was an analogy to try and describe what 
> I thought was the problem after discussing it with the developer -- with the 
> caveat that we actually had to research the nuts and bolts.
> 
> The RAC suggestion was from what I remembered when RAC first came out -- 
> right after oracle parallel server or something like that.   At that time 
> there were application specific things necessary to deal with the nodes, and 
> I thought sequences was one of those issues -- so thanks for clarifying that 
> point, at least for modern versions.   I don't have any more RAC than 
> attempting to create one eight year ago.
> 
> In any event, one of those nuts and bolts is hibernate -- which I have found 
> elicits knashing of teeth and rolling of eyes when I bring it up -- so there 
> is a variable.   But I do not believe it is using hibernates 
> SequenceGenerator because the developer spefically pointed out the DB 
> sequence and the fact that the cache was increased to 500 which I double 
> checked in dba_sequences.
> 
> Remember, I don't have an actual explanation yet -- one of my next steps is 
> to find the values for the bind variables in the insert statements shown in 
> the trace file and see if they are using the same values -- those insert 
> statements are for the child table.
> 
> BTW nice URL on hibernate_sequences...  (picture finger pointing to tongue 
> sticking out of mouth).   Sorry..., I'm sure there is science behind it.
> 
> Not sure about what was meant by evolution email, but my original originated 
> with the trace file deadlock graph.   At some point either the mail gets two 
> big or I have answered two responses generating a spin off.  Sorry about that 
> if that is what happened.
> 
> 
> 
> 
> 
> Joel Patterson
> Database Administrator
> 904 928-2790

--
//www.freelists.org/webpage/oracle-l


Other related posts: