Top > SQL*Plus > SQL*Plusのコマンド実行を停止する

実行中のコマンド、スクリプトを停止する

SQL*Plus で実行中のスクリプトや延々とデータを表示している状態を Ctrl+C キーを押すことで停止することができる。
旧バージョンではアラートログを出してセッションも切断してしまう事があったので注意。

DML の処理を実行中で Ctrl+C キーの応答もない場合には、別のセッションから SID と SERIAL# を特定して ALTER SYSTEM KILL コマンドを使用してセッションを切断する。

ALTER SYSTEM KILL SESSION SID , SERIAL# [ IMMEDIATE ] 
ALTER SYSTEM DISCONNECT SESSION SID , SERIAL# [ POST_TRANSACTION ] [ IMMEDIATE ]

Windows の場合にはコマンドプロンプトから実行できる orakill コマンドがあるのでそちらの方も便利である。

スクリプト実行時における強制終了の危険性

本番環境において実行中のスクリプト実行時の強制終了は不具合を誘発する恐れがある。

シェルの場合には割り込み禁止命令 trap を使用する。
他のスクリプト言語にも同様なコマンドを適用する。

trap 1 2 3 15
trap HUP INT QUIT TREM

などを仕掛けておき、トラップのファイナル処理を設置しておくと不慣れなシステム運用者が入ってきても安心して運用できる。

 


日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle Web セミナー