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>」に変更する。