3
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Oracle SQLでDB接続中のセッションを特定&強制終了(KILL)

Posted at

DB接続中のセッションを特定

負荷のかかるSQLを実行した際に、クライアントがフリーズしてしまい、強制終了してしまった。
そのときに、セッションが残っているか確認したいときに使用したSQLです。

SELECT
    SID, SERIAL#, MACHINE, STATUS, PROGRAM
FROM
    V$SESSION
WHERE
  USERNAME = 'HOGE';

HOGEと記載しているところに、ログインしたユーザIDを指定します。
実行すると、下のような結果が出力される。

| SID | SERIAL# | MACHINE | STATUS | PROGRAM |
| :-- | :-- | :-- | :-- | :-- | :-- |
| 48 | 141 | riekure1 | Active | SQL Developer |
| 139 | 157 | riekure2 | Inactive | A5M2.exe |

各項目の意味については、Oracle公式が分かりやすいと思います。

セッションを強制終了

もし、怪しいセッションが残っていて、強制終了したいときはSIDとSERIAL#を使用します。

ALTER SYSTEM KILL SESSION '48,141';

'SID, SERIAL'(カンマ区切り)で対象セッションを指定します。
ちなみに、自分自身を強制終了できませんでした。地味に親切でした。

3
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?