ITPub博客

首页 > 数据库 > Oracle > sqlplus环境配置(login.sql)

sqlplus环境配置(login.sql)

Oracle 作者:studywell 时间:2016-03-03 16:25:52 0 删除 编辑
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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-03-04

  • 博文量
    307
  • 访问量
    535421