Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Interesting question about locks !
There is no other realistic solution unless you prebuild your own locking mechanism using user_defined locks.
A row lock exists PURELY as a byte
flag against the row in the block.
The only faintly realistic way you can
find the locker is to try to lock the row
so that a session tracks from the bit to
the ITL and displays in v$lock.
An alternative is to get the rowid of
the row you want, derive the block
address, then call an external procedure
to dump the block to a trace file (or
read it direct from the datafile) and
find the ITL index from the rows flags,
derive the transaction address from the
itl entry and return the session id.
NON-trivial and potentially version
and platform dependent.
-- Jonathan Lewis Yet another Oracle-related web site: http://www.jlcomp.demon.co.uk Didier LENQUETTE wrote in message ...Received on Fri Mar 03 2000 - 00:00:00 CST
>Hi Jeremiah !
>
>Thank you for your explanations.
>
>You are not the first with this answer !
>But I will try to find an other solution.
>
>Bye.
>
>Jeremiah Wilton <jeremiah_at_wolfenet.com> a écrit dans le message :
>38BFECF7.F4552A2A_at_wolfenet.com...
>> To do what you want, you must select for update, let a session hang for
>> a second, open a second session in the background, check the blocking
>> locks, then timeout the waiting session from the application level.
>> There is no way to get the blocker without establishing a blocking
>> situation.
>