SQL*PlusではSETコマンドを使用して動作オプションの設定ができますが、これらのオプションはSQL*Plusを終了するとリセットされてしまいます。
かといって毎回毎回起動時にSET~、SET~とやっていては面倒です。
SQL*Plusを毎回同じ設定で起動させたい場合には、サイトプロファイル(glogin.sql)、またはユーザープロファイル(login.sql)を利用します。
サイトプロファイルはすべてのユーザーに影響を与えるプロファイル、ユーザープロファイルは特定のユーザーに影響を与えるプロファイルで、SQL*Plusはサイトプロファイル→ユーザープロファイルの順に読み込まれます。
が、実際にはサイトプロファイルを使うことの方が多いと思われるので、両者がどうこうという話は置いといて、ここではサイトプロファイルのみ説明します。
サイトプロファイルはWindows環境の場合、%ORACLE_HOME%\sqlplus\admin\glogin.sqlに配置します。
もっとも、わざわざ新規に作成しなくても最初から以下のような内容のglogin.sqlが置いてあるのですが...
glogin.sql
-- -- Copyright (c) Oracle Corporation 1988, 2000. All Rights Reserved. -- -- NAME -- glogin.sql -- -- DESCRIPTION -- SQL*Plus global login startup file. -- -- Add any sqlplus commands here that are to be executed when a user -- starts SQL*Plus on your system -- -- USAGE -- This script is automatically run when SQL*Plus starts -- -- For backward compatibility SET PAGESIZE 14 SET SQLPLUSCOMPATIBILITY 8.1.7 -- Used by Trusted Oracle COLUMN ROWLABEL FORMAT A15 -- Used for the SHOW ERRORS command COLUMN LINE/COL FORMAT A8 COLUMN ERROR FORMAT A65 WORD_WRAPPED -- Used for the SHOW SGA command COLUMN name_col_plus_show_sga FORMAT a24 -- Defaults for SHOW PARAMETERS COLUMN name_col_plus_show_param FORMAT a36 HEADING NAME COLUMN value_col_plus_show_param FORMAT a30 HEADING VALUE -- Defaults for SET AUTOTRACE EXPLAIN report COLUMN id_plus_exp FORMAT 990 HEADING i COLUMN parent_id_plus_exp FORMAT 990 HEADING p COLUMN plan_plus_exp FORMAT a60 COLUMN object_node_plus_exp FORMAT a8 COLUMN other_tag_plus_exp FORMAT a29 COLUMN other_plus_exp FORMAT a44
なにやらごちゃごちゃと設定していますが、要は標準では上記の設定で動作しているということです。
で、これに設定を加えたり、変更したりすれば、いつも自分の使いやすい設定でSQL*Plusが起動してくれるようになるということなのです。
私の場合、デバッグやパフォーマンス計測をよく行うので、とりあえず上記のプロファイルに以下の設定を追加しています。
set serverout on set timing on本当はもう少し細かく設定しておいた方がいいかなと思うんですが、めんどくさくて^^ゞ