ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL*Plus的login.sql 文件

SQL*Plus的login.sql 文件

原创 Linux操作系统 作者:erifenerlai 时间:2013-10-10 08:43:13 0 删除 编辑
使用SQL*PLUS登陆时,SQL*PLUS会按照如下的顺序读取并执行脚本:
· $Oracle_home/sqlplus/admin/glogin.sql
· 当前目录下的login.sql,或者设置一个环境变量SQLPATH(Windows下面通过注册表)来指定一个目录

[sql]
define _editor=vi  
set serveroutput on size 1000000  
set trimspool on  
set long 5000  
set linesize 100  
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:设置SQL*Plus使用的默认编辑器。可以把默认编辑器设置为你最喜欢的文本编辑器(而不是字处理器),如记事本(Notepad)或emacs。
· SET SERVEROUTPUT ON SIZE 1000000:这会默认地打开DBMS_OUTPUT(这样就不必每次再键入这个命令了)。另外也将默认缓冲区大小设置得尽可能大。
· SET TRIMSPOOL ON:假脱机输出文本时,会去除文本行两端的空格,而且行宽不定。如果设置为OFF(默认设置),假脱机输出的文本行宽度则等于所设置的LINESIZE。
· SET LONG 5000:设置选择LONG 和CLOB 列时显示的默认字节数。
· SET LINESIZE 100:设置SQL*Plus显示的文本行宽为100个字符。
· SET PAGESIZE 9999:PAGESIZE可以控制SQL*Plus多久打印一次标题,这里将PAGESIZE设置为一个很大的数(所以每页只有一组标题)。
· COLUMN PLAN_PLUS_EXP FORMAT A80:设置由AUTOTRACE得到的解释计划输出(explain plan output)的默认宽度。A80通常足以放下整个计划。
· 之后这部分用于建立SQL*Plus提示符:COLUMN GLOBAL_NAME NEW_VALUE GNAME 指令告诉SQL*Plus 取得GLOBAL_NAME 列中的最后一个值,并将这个值赋给替换变量GNAME。接下来,从数据库中选出GLOBAL_NAME,并与我的登录用户名连接。这样一来,就能知道我是谁,还有我在哪儿。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26788874/viewspace-774033/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-09-27

  • 博文量
    2
  • 访问量
    2543