A user has opened 4 sessions on different client machines. In one of that, he has a long running delete command which needs to be killed now. How to find the session id to kill only that session. Rest of the sessions should be continued to run.
thanks in advance.
I think this query might just work ...........beware use it at your own risk i havent tested it though.hope thsi is what you are lookin for
set verify off lines 192 head on
col UNAM format a20 word heading 'User'
col STMT format a56 word heading 'Statement'
col RUNT format a08 word heading 'Run Time'
col ltim format a20 word heading 'Logon Time'
col etim format a20 word heading 'Connect Time'
col PROG format a30 word heading 'Program|Client Terminal Details'
col SID format a10 word heading 'SID/|Serial#'
col DR format 999999999 heading 'Disk Reads'
col BG format 999999999 heading 'Buffer Gets'
col sqltext format A64 wrap heading 'Last SQL'
break on unam on sid on status
select S.USERNAME||'('||s.sid||')-'||s.osuser UNAM
-- ,s.program||'-'||s.terminal||'('||s.machine||')' PROG
from v$sqltext_with_newlines t,V$SESSION s
where t.address =s.sql_address
and t.hash_value = s.sql_hash_value
order by s.sid,t.piece
take this i havn't test it, but i think it helps you
to_char(logon_time, 'DD-MON HH24:MI:SS') "Login Time"
where p.addr = s.paddr
and s.osuser != 'oracle'
order by pid;
your query dosent give the last sql that the suer is executing.
you have right, but the querry gives you a lot of information and if i combinate your statment with my statment you get so much infos you want.
But in the future i will read the question better.
Excuse me but my enlish isn't so well.
Minor confusion... Why not just run TopSessions in the diagnostic pack and look at the various connections for that user? Find the one with the active Delete statement in it and kill it.
Click Here to Expand Forum to Full Width