select sid,serial#,status,login_time from v$session;
でActiveなsessionを確認するのね。
んでもって
select sid,lmode,ctime,block from V$lock:
で、対象のsid、ロックモードとかを確認する。
lmodeの状態はこんなかんじ
・0 -なし
・1 -Null (NULL )
・2 -行共有(SS )
・3 -行排他(SX )
・4 -共有(S )
・5 -共有/行排他(SSX )
・6 -排他(X )
んで、sessionを特定できたらkillするのだ!!
alter system kill session 'sid,serial#';
sessionをkillすると、v$sessionの対象sessionのstatusがkilledになるはず。
killedの状態は時間がたつと消えるのね。(2時間かな?)
EnterpriseManagerからやったほうが簡単だけどね。
対応はこれでOK。
ただ、たまにsessionをkillしてもOS側でプロセス握っている場合があるので
そしたらOS側のプロセスをkill -9で殺してあげましょー
万が一消えない場合は、abortしかないよ。
0 件のコメント:
コメントを投稿