Top > SQL*Plus > SQL*Plusを終了する

SQL*Plus の終了

SQL*Plus の終了には "SQL>" の コマンド・プロンプト から exit と入力する。
exit は exit commit と同じであり、終了時に COMMIT 処理を行なう。(※ Oracle 11g R1 以前)
quit による終了も可能。quit と exit に機能的な違いはない。

(※) Oracle 11g R2 から EXITCOMMIT システム変数 が追加され、デフォルトの設定を変更することが可能。初期設定は COMMIT される。

サイレントモード を使ったバッチ処理を行なうスクリプトの最後には quit または exit 文を入れないとプロンプトも表示されない状態で SQL*Plus への入力待機状態になる。 そのため SQL*Plus のバッチ処理がいつまでも終了しないと勘違いしていることも少なくない。

通常の SQL*Plus の起動と終了例

Windows の場合

C:\>sqlplus /nolog
 
SQL*Plus: Release 10.2.0.1.0 - Production on 木 12月 21 02:26:18 2006
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
SQL> connect rivus/rivus_pass
接続されました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
 
C:\>

処理をロールバックして SQL*Plus を終了

quit または exit のオプションに rollback を指定すると現行トランザクションがロールバックされて終了する。

C:\>sqlplus /nolog
 
SQL*Plus: Release 10.2.0.1.0 - Production on 木 12月 21 02:51:54 2006
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
SQL> conn rivus/rivus
接続されました。
SQL> exit rollback
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
C:\>

要注意: 例えば SQL> quit rollbac などとオプションの指定にスペルミスがあるとコミットして終了する。(用法間違いのエラーメッセージを表示して SQL*Plus 終了)

SQL*Plus は終了せずにログアウトする

SQL*Plus は終了せずにユーザーの接続のみをログオフするには disconnect を使用する。

C:\>sqlplus /nolog
 
SQL*Plus: Release 10.2.0.1.0 - Production on 木 12月 21 00:37:19 2006
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
SQL> conn rivus/rivus_pass
接続されました。
SQL> disconnect
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
SQL>

ログオンのネストはできない

connect 文によって接続ユーザーを切り替えることができる。 しかし、connect のネストはサポートされていない。

  1. ユーザーAに接続
  2. そのままユーザーBに接続
  3. ユーザーBの接続の切断
  4. 未接続の状態(ユーザーAの接続はユーザーBの接続時に切断)

ユーザーBの接続時(=ユーザーAの切断時)には トランザクションコミット される。

 


日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)