sql >> データベース >  >> RDS >> Oracle

ユーザーのすべてのアクティブおよび非アクティブなOracleセッションを強制終了する方法

    KILL SESSION コマンドは実際にはkillしません セッション。それは単にセッションに自殺するように要求するだけです。リモートデータベースからの応答を待つ、トランザクションをロールバックするなどの状況では、セッションはすぐには終了せず、現在の操作が完了するのを待ちます。このような場合、セッションのステータスは「強制終了のマーク」になります。 "。その後、できるだけ早く殺されます。

    ステータスを確認して確認します:

    SELECT sid, serial#, status, username FROM v$session;
    

    IMMEDIATEを使用することもできます 条項:

    ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
    

    IMMEDIATE 句は、コマンドによって実行される作業には影響しませんが、強制終了の確認を待つのではなく、制御を現在のセッションにすぐに戻します。 KillingOracleSessionsをご覧ください。

    更新 すべてのセッションを強制終了する場合は、小さなスクリプトを準備するだけです。

    SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;
    

    スプール 上記を.sqlに ファイルを作成して実行するか、出力をコピーして貼り付けて実行します。



    1. Oracleを使用して年、月、日で年齢を取得する方法

    2. Ansibleを使用したPostgreSQLのデプロイとメンテナンス

    3. MySQL:同じテーブルを複数回結合するにはどうすればよいですか?

    4. テーブル値関数によって返される列を検索する(T-SQLの例)