SQL*Plus在启动时会自动运行两个脚本:glogin.sql、login.sql。文件glogin.sql是ORACLE为所有的数据库用户建立的、默认的SQL*Plus设置,存放在目录<ORACLE_HOME>/sqlplus/admin目录下。这是一个全局的并且会自动运行的配置文件,在客户端使用SQL*Plus的时候会自动调用这个文件。我们可以在glogin.sql文件里面加入我们的设置信息。例如:设置SQL的响应时间,设置SQL的返回行数,设置是否显示回显等。而用户可以将个人喜欢的常用设置放在login.sql文件中,每次sqlplus启动时会自动加载。
SQL*Plus在启动时先运行glogin.sql文件,再运行login.sql文件。查找glogin.sql只是在默认路径下找。查找login.sql文件的顺序是:先在当前路径下查找,如果找到则运行,运行后停止查找。如果没找到,再查找是否设置了SQLPATH环境变量,如果已经设置了该环境变量,就在该变量所对应的路径下查找,如果找到则运行,运行后停止查找。如果没有找到也会停止查找,不会再继续查找。如果没有设置SQLPATH环境变量同样停止查找,不会再继续查找。
login.sql示例:
-- Set default editor
define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set pagesize 9999
column plan_plus_exp format a80
-- Set linesize 1000
SET linesize 1000
-- Set sqlprompt
SET termout off
DEFINE gname = idle
COLUMN global_name new_value gname
SELECT LOWER(user) || '@' || LOWER(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