SQLPLUS起動スクリプト(login.sql)

SQLPLUS起動時まず「$ORACLE_HOME/sqlplus/admin」から「glogin.sql」を探して実行する。
次に、SQLPLUS実行ディレクトリから「login.sql」を探して実行する。

NOTE: Oracle10gからconnnect時にglogin.sqlとlogin.sqlを実行する。

制限レベル3(-R 3)でSQLPLUSを起動した場合、login.sqlは読み込まない。

私のlogin.sql例:

define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 2000
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr( global_name, 1, decode( dot, 0,
length(global_name), dot-1) ) global_name
  from (select global_name, instr(global_name,'.') dot from global_name );
set sqlprompt '&gname> '
set termout on
解説:
define _editor=vi
 エディタをVIに指定する。
set serveroutput on size 1000000
 PLSQLのOUTPUTする場合毎回打つの面倒なので。SIZEデフォルト2000
Oracle 10g R2 以上の場合には UNLIMITED またはサイズを指定しないことでデフォルトの
バッファサイズは無制限となる。あえて上限を設定すると 1000000(1メガバイト弱)
set trimspool on
 各行の右端のスペースを削除する
set long 5000
 LONG型のデータは表示幅以上の部分は切り捨てられる。
set linesize 2000
 1行に表示される文字数の合計を設定することで項目の多いテーブル内容の表示を見やすくできる
set pagesize 9999
 見出しを一回表示する各ページの行数を設定する。
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr( global_name, 1, decode( dot, 0,
length(global_name), dot-1) ) global_name
  from (select global_name, instr(global_name,'.') dot from global_name );
set sqlprompt '&gname> '
set termout on
 上記はSQLPLUSのプロンプトを「USER@SID>」に変更する。