Re: Which session runs a specific transaction?
Posted in 1998
Mr Wolf
This will do it.
Get the thread address from onstat -x then do
onstat -u | grep the_thread_address
It will give you the line for the session.
Just as a general pointer. I found this out by doing the following;
onstat -x{Got a thread address that looked interesting}
onstat -a > pt=20
then I vi'd pt and followed my nose around the output file looking for =
my_interesting_thread_address.
I found it showed up on the onstat -u line, and also on the active =
processes line.
the active processes line gave me a thread id as well so I was able to =
cross check by runing an onstat -g ses sessid on the session I had =
identified in onstat -u. Sure enough it was the same guy. So in your =
case that would be the session to kill.
I mention all of this detail as this method of wandering around an onstat =
-a output has proved beneficial to me several times in the past. And =
hopefully you may also find it useful. =20
I suspect that you could also get this information from sysmaster but I =
have not taken a look. Bound to be there somewhere, sometimes you have to =
convert the hex address to decimal in the database or vice versa. Windows =
calc will do that for you and is faster that calling the hex() function in =
SQL.
rgds
Peter Tashkoff <tashkop@iname.com>
Zespri International Limited Std Disclaimers Apply
All rights reserved. No party may use this document to vilify another.
Zespri New Zealand Kiwifruit, The World's Finest
>>> "Wolf P=E9ter" <wovi@ludens.elte.hu> 18/05/98 23:27:07 >>>
I can get the list of active transactions with the command onstat -x .
How can I get the session id which a transaction belongs to?
( I would like kill that transaction, because locks lots of tables and
not allow working others )
Can anybody help me?