Subject RE: [firebird-support] lock conflict on no wait transaction - finding the user
Author Marius Labuschagne
>If your database has an ODS of at least 11.1, then you can do:
>
>select
>a.*
>, t.*
>from
>mon$transactions t join mon$attachments a on (t.mon$attachment_id =
>a.mon$attachment_id)
>where
>mon$transaction_id = 7850179
>
>This will give the transaction and attachment information for this
>particular transaction id.
>
>You can also look up the statements associated to this transaction id by
>executing:
>
>select * from mon$statements where mon$transaction_id = 7850179
>
>> I cannot shutdown and restart the database at the moment, as it is during
>> production hours.
>
>It shouldn't be necessary. It's also possible to kill a particular
>statement by executing a DELETE statement on the MON$STATEMENTS table.
>
>--
>With regards,
>Thomas Steinmaurer (^TS^)
>Firebird Technology Evangelist
>
>http://www.upscene.com/
>
>Do you care about the future of Firebird? Join the Firebird Foundation:
>http://www.firebirdsql.org/en/firebird-foundation/



Thank you Thomas for the quick response.

I have executed the first query you have provided, and it pin pointed the
user. Exactly what I wanted thanks for that.

I then tried the second query " select * from mon$statements where
mon$transaction_id = 7850179" but there is nothing in the result set. I
asked the particular user to restart his machine, and everything is back to
normal now.

Thanks again for your help.


Regards
Marius