アットウィキロゴ

11gSQL QandA


Q. SQL*Plusとは何ですか?

A. OracleDBと対話形式でSQLを実行できるツールです。

その名のとおりSQL文を実行するだけでなく、便利な機能がプラスされています。


  • 3種類のSQL*Plus
    Oracleはインターフェイスが異なる3種類のSQL*Plusを提供しています。
    • CUIベースのSQL*Plus
    • GUIベースのSQL*Plus(Windows版のみ)
    • WebブラウザのiSQL*Plus
  • SQL*Plusの起動
    • コマンドプロンプトで「SQLPLUS」と入力
    • スタートメニュー

      ユーザ名/パスワードを入力し、ログイン
  • SQL*Plusの終了(コミット)
    • 「EXIT [COMMIT]」もしくは「QUIT [COMMIT]」と入力
    • [ファイル]メニューから[終了]を選択
  • SQL*Plusの終了(ロールバック)
    • 「EXIT [ROLLBACK]」もしくは「QUIT [ROLLBACK]」と入力
    • 右上の×印をクリック
  • SQL*Plus は終了せずにログアウトする
    • SQL*Plus は終了せずにユーザーの接続のみをログオフするには disconnect と入力

Q. EDITコマンドで起動するエディタを変更できますか?

A. はい、できます。_EDITOR変数を設定します。

  • サクラエディタに変更する例

     DEFINE _EDITOR = "C:\Program Files\sakuraeditor\sakura.exe"


Q. nologの使い道は何ですか?

A. ユーザ名とパスワードの漏洩回避です。

SQL*Plusを使用する際は、当然DBに接続するためのユーザ名とパスワードが必要です。
しかし、使用するプラットフォームによってはSQL*Plusを起動するときに引数としてユーザ名とパスワードを指定すると、
OSコマンドやツールなどによって情報が漏洩する危険があります。

この危険を回避するために、SQL*Plusの起動時には/nologオプションを使用し、
DBへの接続はSQLプロンプトからCONNECTコマンドを実行します。

このように実行方法を変更することで、
OSコマンドやツールなどによってユーザ名とパスワードが漏洩する可能性を非常に低くすることができます。


Q. DROP TABLE文で表は完全に削除されるのですか?

A. 実は、10gからゴミ箱機能が追加されました。(フラッシュバックドロップ機能)

DROP TABLE文で表を削除→リサイクルビンに入る(領域は開放されません)。
リサイクルビンに入れられたテーブルは、BINから始まるテーブル名になります。

  • リサイクルビンに入れられたテーブルを確認する方法

     SHOW RECYC[LEBIN]
     SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME LIKE 'BIN%';
     USER_RECYCLEBIN ALL_RECYCLEBINビュー 、あるいは RECYCLEBINシノニム で確認することも可能です。

  • リサイクルビンに入れられたテーブルを復元する(元に戻す)方法

     FLASHBACK TABLE 削除前テーブル名 TO BEFORE DROP;
     FLASHBACK TABLE "BIN~" TO BEFORE DROP;

  • 削除前のテーブル名を指定した場合、同名のテーブルが何度も削除されていたなら、一番直近のものが復元されます。
  • リサイクルビンに入れられたテーブルを完全に削除(領域を解放)する方法

     PURGE TABLE 削除前テーブル名;
     PURGE TABLE "BIN~";
     PURGE USER_RECYCLEBIN;
     PURGE RECYCLEBIN;

  • 削除前のテーブル名を指定した場合、同名のテーブルが何度も削除されていたなら、一番古い1件だけが削除されます。
  • リサイクルビンに入れずにテーブルを削除する方法

     DROP TABLE テーブル名 [CASCADE CONSTRAINTS] PURGE;

フラッシュバックドロップ機能によって領域が不足すると、
Oracleは自動的にリサイクルビン内にある古いオブジェクトから削除し、領域を解放します。

初期化パラメータを「_RECYCLEBIN=FALSE」をすることで、フラッシュバックドロップ機能を無効に設定できます。
(※アンダースコアで始まるパラメータは隠しパラメータなので、
設定する場合は日本オラクルの情報を確認し、自己責任で行うようにしてください。

最終更新:2010年06月07日 11:06