トップページ >  Oracle SQL >  ALTER SYSTEM KILL SESSION
初版2007/08/14: 最終更新日2007/10/12
  ALTER SYSTEM KILL SESSION
目次
ALTER SYSTEM KILL SESSION
ロックの解除
ロックを解除するには、そのロックを保持するセッションを切る必要があります。
セッションを切るには

ALTER SYSTEM KILL SESSION 'SID,SERIAL#'

を実行します。ロックを保持しているSID,SERIAL#は、V$SESSIONとV$LOCKから取得します。
SELECT SID,SERIAL#,USERNAME,STATUS,SERVER,SCHEMANAME,OSUSER,MACHINE,PROGRAM 
FROM V$SESSION 
WHERE SID IN (SELECT SID FROM V$LOCK)

セッションのステータスがKILLEDとなり、その後セッション削除され、それに紐付くロックも解除されます。(V$LOCK参照)

ロックが解除されない場合
セッションがKILLEDとなったままで、ロックも解除されない場合は、OSのkill -9コマンドでサーバプロセスをkillする必要があります。
OSのプロセスIDは、V$SESSIONとV$PROCESSから取得します。

SELECT SES.SID, SES.SERIAL#, PROC.SPID, SES.STATUS 
FROM V$PROCESS PROC, V$SESSION SES 
WHERE PROC.ADDR = SES.PADDR

上記SQLから取得したSPIDをkillします。
killコマンドは以下のように使用します。この場合、spidは12220としています。

kill -9 12220