sqlplus环境配置(login.sql)
sqlplus启动时会查找和加载的两个文件login.sql和glogin.sql。
其中glogin.sql文件默认存放在$Oracle_HOME/sqlplus/admin目录下,login.sql可以设置在SQLPATH中。
一、login.sql文件
login.sql文件可以存放sqlplus中能使用的任何命令,包括sqlplus命令和sql语句。
sqlplus启动时会首先查找当前目录下的login.sql文件,其次会在SQLPATH目录下查找。
如果找到glogin.sql文件,则在SQLPLUS显示"SQL>”前执行login.sql里的所有内容。
如果没找到login.sql文件,则停止查找。
所以可将个人喜欢的常用设置放在login.sql文件中,每次sqlplus启动时会自动加载。
设置SQLPATH
在ORACLE用户profile文件中加入SQLPATH环境变量。我的是.bash_profile
如:export SQLPATH=/data/app/sqlpath(此路径是你login.sql所在的目录)
当然也可启动sqlplus后,再执行该文件(使用@命令)。
二、glogin.sql
文件glogin.sql是ORACLE为所有的数据库用户建立默认的SQLPLUS设置,默认存放在$ORACLE_HOME/sqlplus/admin目录下。
sqlplus启动时也会在出现"SQL>”之前自动执行该文件的所有内容。所以也可将一些常用设置放在该文件里。
常用环境设置命令
1. 设置sqlplus登录的username和instance
SQL> set sqlprompt '_user @&_CONNECT_IDENTIFIER> '
SYS @demo >
2. 打开/关闭sql语句返回的记录条数
set feedback on/off
3. 打开/关闭sql语句运行时间统计
set timing on/off
4. 打开/关闭系统时间显示
set time on/off
login.sql例子:
define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 300
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
附:login.sql文件中部分参数说明:
1. define _editor=vi: 设置SQL *Plus使用的默认编辑器。
2. set serveroutput on size 1000000:这样会默认的打开DBMS_OUTPUT(这样不必每次在键入这个命令了)。另外也将默认缓冲区大小设置的仅可能大。
3. set trimspool on: 假脱机输出文本时,会去除文本行两端的空格,而且行宽不定,如果设置为off(默认设置),假脱机输出的文本行宽度则等于所设置的linesize。
4. set long 5000: 设置选择LONG和CLOB列时显示的默认字节数。
5. set linesize 100 设置SQL*Plus显示的文本宽为100个字符
6. set pagesize 9999: pagesize可以控制SQL *Plus多久打印一次标题。
7. column plan_plus_exp format a80: 设置由AUTOTRACE得到的解释计划输出的默认宽度。
8. set termout off 当设置为set termout off的时候就会忽略sql语句的输出如果这条sql是在脚本中运行的话。也就是说如果命令不在脚本中运行,即使设置为set termout off,仍然会返回sql的结果。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29519108/viewspace-2028219/
,如需转载,请注明出处,否则将追究法律责任。