SQL*Plusの環境設定
SHOWコマンド: SQL*Plusの環境を確認する
- SQL> SHOW LINES[IZE] ・・・表示ページの横幅
- SQL> SHOW PAGES[IZE] ・・・表示ページ行数
- SQL> SHOW NUMW[IDTH] ・・・NUMBER型列の表示桁数
- SQL> SHOW FEED[BACK] ・・・実行後のメッセージの表示/非表示
- SQL> SHOW SERVEROUT[PUT] ・・・サーバー出力の表示
実行結果
SQL> SHOW FEED 6行以上に対するFEEDBACKがONです。
この場合、SELECT文の結果が6行以上のn行であれば、「n行が選択されました。」のメッセージが表示されます。
結果が6行未満の場合、何も表示されません。
COL[UMN]コマンド: 各列ごとに、表示幅を変更する。
- SQL> COL カラム1 FORMAT A8 ・・・列のデータが文字列の場合は、「A」の後ろに表示する桁数を記述する。このカラムの横幅は、文字が8個入ります。
- SQL> COL カラム2 FORMAT 9999 ・・・列のデータが数値の場合は、「9」を表示する桁数だけ記述する。このカラムの横幅は、数値が4個入ります。
AUTOTRACE: 実行計画および実行時に必要としたシステムリソースなどを確認できる
- SQL> SET AUTOTRACE ON: 実行結果、実行計画、統計情報を表示。
- SQL> SET AUTOTRACE TRACEONLY: 実行計画、統計情報を表示。実行結果は表示しない。
※EXPLAIN PLAN の場合は、SQLを実際に実行しない。そのためSQLの統計情報は取得できない。
SPOOL: 出力結果をファイルに出力する。
- SQL> SPOOL ファイル名
- SQL> SQL実行
SPOOLでは、たとえば検索なら、検索結果をSQL*PLUSに表示してからファイルに書き込む。つまり、大量にヒットする検索の場合は、非常に時間がかかるため、やり方を検討する必要がある。
AUTOTRACEの使い方
1. SYSユーザーでログイン
$ sqlplus /nolog
SQL> connect /as sysdba
接続されました
2. plustrce.sqlを実行し、PLUSTRACEロールを生成する
SQL> @?/plsql/admin/plustrce.sql
(以下に出力例を記述します)
SQL> drop role plustrace;
行1でエラーが発生しました:
ORA-01919: ロール'PLUSTRACE'は存在しません
SQL> create role plustrace;
ロールが作成されました
SQL> grant select on v_$sesstat to plustrace;
権限付与が成功しました
SQL> grant select on v_$statname to plustrace;
権限付与が成功しました
SQL> grant select on v_$mystat to plustrace;
権限付与が成功しました
SQL> grant select on dba to plustrace;
権限付与が成功しました
3. AUTOTRACE機能を使うユーザーにPLUSTRACEロールを付与する。
SQL> grant plustrace to ユーザー名
権限付与が成功しました
4. 実行計画の情報を格納するためのPLAN_TABLE表を作成する。
SQL> @?/rdbms/admin/utlxplan.sql
表が作成されました