@WIKI

ロックの開放

最終更新:

atyou

- view
管理者のみ編集可
以下の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


参考





目安箱バナー