login.sql と glogin.sql
SQL*Plus 接続時に実行されるコマンドファイルで、サイトプロファイル用の
glogin.sql と、ユーザプロファイル用の login.sql の2種類ある。
プロファイル
ここで言うサイトとは DB サーバ 、ユーザとは OS ユーザ を示している。
共用したければ glogin.sql 、個別に定義したければ login.sql とすればよい。
login.sql は手動でファイルを作成する必要があるが、
glogin.sql は$ORACLE_HOME/sqlplus/admin に存在する。
中身はコメント文だけで、デフォルトで何かしらの定義がされているわけではない。
両ファイルが存在する場合、ユーザ用の login.sql が優先され glogin.sql は読込まれない。
※ もし存在しなければ glogin.sql が読込まれる。
login.sql はカレントディレクトリになければ、環境変数 SQLPATH のパスが検索される。
ユーザプロファイルの作成
ではここで、ユーザプロファイルを作成してみる。
% vi login.sql
【補足】vi の簡単な手順
1) i キーを押下して編集開始。
2) 任意のコマンドを入力。(この例ではインスタンス名が表示させる)
select instance_name from v$instance;
3) Esc キーを押下して編集終了。
4) :wq! を入力して保存。
5) cat コマンドなどで、作成されたファイルを確認。
% cat login.sql select instance_name from v$instance;
login.sql を作成したら、SQL*Plus で接続。
% sqlplus hoge/hoge@ORCL INSTANCE_NAME -------------------------------- ORCL
すると、 接続されました。 の後に定義したコマンドが
自動実行されていることが分かる。
ログインする度に毎回設定するようなコマンドがあれば、手間が省けてよい。
不要な時はファイル名をリネームしてしまえば実行されないので、無効化も簡単。
よく使われていそうなのは linesize や pagesize などの SET コマンドや、
DEFINE_EDITOR などの事前定義変数あたりかと。