トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

Oracle/SqlPlusSet

INDEX

Sql*Plus 環境設定

OracleのSQLコンソール、Sql*Plusの環境設定、システム変数に関してです。設定を行うにはSETコマンド、確認するにはSHOWコマンドを使用します。

注:アスタリスク(*)が付いているものは、iSQL*Plusではサポートされていない。

 APPINFO

APPI[NFO] { OFF | ON | text }

DBMS_APPLICATION_INFOパッケージを使用した、スクリプトの自動登録を設定します。

 ARRAYSIZE - フェッチ行数の設定

SET ARRAY[SIZE] { 15 | n }

SQL*Plusがデータベースから一度にフェッチする行数を設定します。1〜5000の値を設定できる。

大きな値を設定することで、問い合わせの際の効率が良くなる。ただし、一度に大量のデータを取り出すため、相応のメモリが必要となる。従って、データ量が多い場合に、メモリ不足になる。その場合は、処理スピードが多少犠牲になるが、小さい数値を設定することで正常に実行することができる。

なお、100前後以上の値を指定してもパフォーマンスにはほとんど差がなくなる。(環境により異なる)

 AUTOCOMMIT

AUTO[COMMIT] { OFF | ON | IMM[EDIATE] | n }

Oracleのトランザクションのコミットを行うタイミングを制御する。

OFF
自動コミットが抑制される。SQLのCOMMITコマンドを発行しないとコミットされない。
ON
SQLのINSERT,UPDATE,DELETEコマンド、及び、PL/SQLブロックが正常に実行されるとコミットが行われる。
IMMEDIATE
ONとほぼ同等?
n ( 0 < n < 2^31)
SQLのINSERT,UPDATE,DELETEコマンド、PL/SQLブロックが正常にn回実行された後で、コミットが行われる。

回数のカウントは、次に示す動作が正常終了した後、ゼロにリセットされる。

  • INSERT,UPDATE,DELETEコマンド、PL/SQLブロックをn回実行する
  • コミット (1回)
  • ロールバック (1回)
  • SET AUTOCOMMITコマンド (1回)

注意: この機能において1つのPL/SQLブロックは、その中に実際に含まれているSQLコマンドの数にかかわらず1つのトランザクションとみなされる。

 AUTOPRINT

AUTOP[RINT] { OFF | ON }

バインド変数の自動プリント制御を設定する。ON/OFFの指定によって、バインド変数(正常に実行できるPL/SQLブロックで参照されているか、またはEXECUTEコマンドで使用されている)を自動表示するかどうかを制御する。

 AUTORECOVERY

AUTORECOVERY { ON | OFF }

 AUTOTRACE - 実行計画・統計の表示設定

SET AUTOT[RACE] { OFF | ON | TRACE[ONLY] } [EXP[LAIN]] [STAT[ISTICS]]

SQLの実行計画、および実行時に必要としたシステムリソース(実行統計)などを表示させる。

OFF
レポート出力をしない
ON
レポート出力する
TRACEONLY
データをフェッチするが、結果を出力せずにレポートのみ出力する
EXPLAIN
実行計画のみ
STATISTICS
実行統計のみ

注意:実行計画の情報を格納するためのPLAN_TABLE表が必要になる。

詳細は、実行計画PLAN_TABLE の作成を参照のこと

 BLOCKTERMINATOR

BLO[CKTERMINATOR] { . | c }

PL/SQLブロックを終了する場合に使用する英数字以外の文字を、cに設定する。ブロックを実行するには、RUNまたは/ (スラッシュ)コマンドを発行しなければならない。

 CMDSEP

CMDS[EP] { ; | c | OFF | ON }

1行に複数のSQL*Plusコマンドを入力する場合に、各コマンドの区切り文字として使う英数字以外の文字をcに設定する。ON/OFFの指定によって、複数のコマンドを1行に入力できるかどうかを制御する。ONにすると、コマンドの区切り文字は自動的にセミコロン(;)に設定される。

 COLSEP - 問い合わせ結果の列と列の間のテキスト設定

SET COLSEP { △(空白) | text }

問い合わせ(SELECT)の結果を表示する際、列と列の間に表示されるテキストを設定する。設定するテキストに空白等が含まれる場合は、ダブル(もしくは、シングル)クォーテーションで囲む必要がある。デフォルトの設定は、1つの半角空白である。

 COMPATIBILITY

COM[PATIBILITY] { V7 | V8 | NATIVE }

 CONCAT

CON[CAT] { . | c | OFF | ON }

 COPYCOMMIT

COPYC[OMMIT] { 0 | n }

 COPYTYPECHECK

COPYTYPECHECK { OFF | ON }

 DEFINE

DEF[INE] { & | c | OFF | ON }

 DESCRIBE

DESCRIBE [DEPTH { 1 | n | ALL }] [LINENUM { ON | OFF }] [INDENT { ON | OFF }]

 ECHO - コマンドファイル内の実行コマンドを表示設定

SET ECHO { OFF | ON }

STARTコマンド(@,@@ 含む)を使用してコマンド・ファイル内の実行コマンドをリストするかどうか、を制御します。

ON
コマンドを表示する
OFF
コマンドを表示しない

 EDITFILE (*)

EDITF[ILE] file_name[.ext]

 EMBEDDED

EMB[EDDED] { OFF | ON }

 ESCAPE

ESC[APE] { \ | c | OFF | ON }

 FEEDBACK

FEED[BACK] { 6 | n | OFF | ON }

 FLAGGER

FLAGGER { OFF | ENTRY | INTERMED[IATE] | FULL }

 FLUSH (*)

FLU[SH] { OFF | ON }

 HEADING

HEA[DING] { OFF | ON }

 HEADSEP

HEADS[EP] { | | c | OFF | ON }

 INSTANCE

INSTANCE [ instance_path | LOCAL ]

 LINESIZE - 1行の文字数設定

SET LIN[ESIZE] { 80 | n } ({ 150 | n } iSQL*Plus)

1行に表示される文字数を設定する。また、TTITLEとBTITLEでは、中央揃えや右揃えのテキストの位置も制御する。設定できる数値は、1からだが、最大値はシステムに依存する。

 LOBOFFSET

LOBOF[FSET] { n | 1 }

 LOGSOURCE

LOGSOURCE [pathname]

 LONG

LONG { 80 | n }

 LONGCHUNKSIZE

LONGC[HUNKSIZE] { 80 | n }

 MARKUP

MARK[UP] HTML [ ON | OFF ] [HEAD text] [BODY text] [TABLE text]
    [ENTMAP { ON | OFF }] [SPOOL { ON | OFF }] [PRE[FORMAT] { ON | OFF }]

 NEWPAGE (*)

NEWP[AGE] { 1 | n | NONE }

 NULL - NULL項目の表示設定

SET NULL text

取得した項目がNULLの場合に表示する内容を設定する。

 NUMFORMAT - 数値項目の表示書式設定

SET NUMF[ORMAT] format

数値を表示する際のデフォルト・フォーマットを設定する。

 NUMWIDTH - 数値項目の表示幅の設定

SET NUM[WIDTH] { 10 | n }

数値を表示する際のデフォルトの表示幅を設定する。

 PAGESIZE - 1ページの行数設定

SET PAGES[IZE] { 24 | n }

1ページ辺りの行数を設定する。この行数は、問い合わせの行数指定ではなく、タイトルや見出しを含めたすべての行数となる。ゼロを設定すると、見出し、ページの区切り、タイトル、冒頭の空白行等の表示が行われなくなる。

 PAUSE

PAU[SE] { OFF | ON | text }

 RECSEP

RECSEP { WR[APPED] | EA[CH] | OFF }

 RECSEPCHAR

RECSEPCHAR { _ | c }

 SERVEROUTPUT

SERVEROUT[PUT] { OFF | ON } [SIZE n] [FOR[MAT] { WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED] }]

 SHIFTINOUT (*)

SHIFT[INOUT] { VIS[IBLE] | INV[ISIBLE] }

 SHOWMODE (*) - システム変数変更時の新旧の設定表示

SET SHOW[MODE] { OFF | ON }

SETコマンドでシステム変数を変更した際に、変更前に設定されていた・変更後に設定された内容を表示するか否かを設定する。ONにした場合、新旧の設定内容が表示される。OFFにした場合、新旧の設定内容は表示されない。

 SQLBLANKLINES (*)

SQLBL[ANKLINES] { ON | OFF }

 SQLCASE

SQLC[ASE] { MIX[ED] | LO[WER] | UP[PER] }

 SQLCONTINUE (*)

SQLCO[NTINUE] { > | text }

 SQLNUMBER (*)

SQLN[UMBER] { OFF | ON }

 SQLPLUSCOMPATIBILITY

SQLPLUSCOMPAT[IBILITY] {x.y[.z]}

 SQLPREFIX (*)

SQLPRE[FIX] { # | c }

 SQLPROMPT (*)

SQLP[ROMPT] { SQL> | text }

 SQLTERMINATOR

SQLT[ERMINATOR] { ; | c | OFF | ON }

 SUFFIX (*)

SUF[FIX] { SQL | text }

 TAB

TAB { OFF | ON }

 TIME - 現在時刻の表示設定

SET TI[ME] { OFF | ON }

SQLコマンドプロンプトに現在時刻を表示するか否かを設定する。ONにすると「20:15:11 SQL>」のように時刻が表示される。OFFにすると時刻の表示はされない。

補足:作業ログを残して何時に実行したかを見るときに指定すると良い。

 TIMING - 経過時間の表示設定

SET TIMI[NG] { OFF | ON }

実行したSQL文の処理経過時間を表示するかを設定する。ONにすると、処理件数を表示後、経過時間を表示する。OFFにすると表示されない。

実行されたSQLコマンドまたはPL/SQLブロックのそれぞれSQL文単位の処理時間をhh:mm:ss.nn(時:分:秒.ms)の形で表示する。特定の処理単位の時間を測定する場合は、TIMINGコマンドを使用する。

 TERMOUT - スクリプト実行時の問い合せ結果の端末出力の抑制設定

SET TERM[OUT] { OFF | ON }

スクリプトファイルを実行した際、問い合わせ(SELECT)の結果を端末に表示させないか否かを設定する。ONにすると、問い合わせの結果が表示されなくなる。OFFにすると、表示される。

ただし、抑制されるのは、START(@,@@)コマンドで実行した、スクリプトファイルの問い合わせ文のみで、端末で直接入力した問い合わせ文の結果は表示される。

 TRIMOUT - 端末出力の各行の末尾の空白の抑制設定

SET TRIM[OUT] { OFF | ON }

端末に出力される各行の末尾に空白を付けないか否かの設定をする。ONにすると、空白は各行の末尾で削除される。OFFにすると、後続する空白を組み込むことができる。

TRIMOUTは、端末に出力される内容に対してのみ有効で、スプールの出力には影響しない。

 TRIMSPOOL - スプール出力の各行の末尾の空白の抑制設定

SET TRIMS[POOL] { ON | OFF }

スプールに出力される各行の末尾に空白を付けないか否かの設定をする。ONにすると、空白は各行の末尾で削除される。OFFにすると、後続する空白を組み込むことができる。

TRIMSPOOLは、スプールに出力される内容に対してのみ有効で、端末出力には影響しない。

 UNDERLINE

UND[ERLINE] { - | c | ON | OFF }

 VERIFY - 置換変数の置き換え内容の表示設定

SET VER[IFY] { OFF | ON }

置換変数を値に置き換える前後のSQL文またはPL/SQLコマンドのテキストを表示するかを設定する。

 WRAP

WRA[P] { OFF | ON }

 ALL - システム変数の表示

SHOW ALL

設定されているすべてのシステム変数を表示する。

 BTITLE (#)

BTI[TLE]

 ERRORS (#)

ERR[ORS] [{FUNCTION | PROCEDURE | PACKAGE | PACKAGE BODY | TRIGGER
       | VIEW | TYPE | TYPE BODY | DIMENSION | JAVA CLASS} [schema.]name]

 LNO (#)

LNO

 PARAMETERS (#)

PARAMETERS [parameter_name]

 PNO (#)

PNO

 RELEASE (#)

REL[EASE]

 REPFOOTER (#)

REPF[OOTER]

 REPHEADER (#)

REPH[EADER]

 SGA (#)

SGA

 SPOOL (*) - スプール設定の表示

SHOW SPOO[L]

SPOOLコマンドで設定した内容を表示する。

 SQLCODE - SQLコードの表示

SHOW SQLCODE

直前の処理のSQLCODEを表示する。

 TTITLE (#)

TT[ITLE]

 USER - ログインユーザ名の表示

SHOW USER

ログインユーザ名を表示させる。接続先は表示されないので、複数のTSNで同じユーザを使っている場合は注意が必要である。

最終更新時間:2008年11月14日 15時46分00秒 指摘や意見などあればSandBoxのBBSへ。