「ロックの開放」(2007/10/31 (水) 17:46:59) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
以下のSQL文を実行する と、ロック開放SQLが作成される。
SELECT 'alter system kill session ''' || sid || ',' || serial# || '''; ' || username as sql
FROM V$SESSION
WHERE SID IN (
SELECT SID FROM V$LOCK
WHERE TYPE IN ('TM','TX')
)
以下、未確認
オラクル上のプロセスを殺す方法は、↑で学びました。
しかし、その方法でもプロセスが残ってしまう場合があります。
よくあるのが、ステータスが killed などで残ってしまう場合。
その場合は、以下のSQLでサーバーOS上のプロセスIDを調べましょう。
SELECT s.sid, s.serial#, p.spid, p.program, s.program, s.terminal, s.status
FROM v$process p, v$session s
WHERE p.addr = s.paddr and
s.SID IN (
SELECT SID FROM V$LOCK
WHERE TYPE IN ('TM','TX')
)
上記で調べたspid がサーバーOS上のプロセスです。
これを、サーバー上で以下のような感じで殺します。
#kill -9 spid
参考
http://www.searchman.info/tips/1680.html
http://kamoland.com/wiki/wiki.cgi?%A5%ED%A5%C3%A5%AF%B2%F2%CA%FC%A4%CE%A4%BF%A4%E1%A4%CE%C6%BB%B6%F1%C8%A2(Oracle)
----
以下のSQL文を実行する と、ロック開放SQLが作成される。
SELECT 'alter system kill session ''' || sid || ',' || serial# || '''; ' || username as sql
FROM V$SESSION
WHERE SID IN (
SELECT SID FROM V$LOCK
WHERE TYPE IN ('TM','TX')
)
以下、未確認
オラクル上のプロセスを殺す方法は、↑で学びました。
しかし、その方法でもプロセスが残ってしまう場合があります。
よくあるのが、ステータスが killed などで残ってしまう場合。
その場合は、以下のSQLでサーバーOS上のプロセスIDを調べましょう。
SELECT s.sid, s.serial#, p.spid, p.program, s.program, s.terminal, s.status
FROM v$process p, v$session s
WHERE p.addr = s.paddr and
s.SID IN (
SELECT SID FROM V$LOCK
WHERE TYPE IN ('TM','TX')
)
上記で調べたspid がサーバーOS上のプロセスです。
これを、サーバー上で以下のような感じで殺します。
#kill -9 spid
参考
http://www.searchman.info/tips/1680.html
http://www.searchman.info/tips/1690.html
http://kamoland.com/wiki/wiki.cgi?%A5%ED%A5%C3%A5%AF%B2%F2%CA%FC%A4%CE%A4%BF%A4%E1%A4%CE%C6%BB%B6%F1%C8%A2(Oracle)
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: