ITPub博客

首页 > 数据库 > Oracle > login.sql---环境变量设置

login.sql---环境变量设置

原创 Oracle 作者:彩伦 时间:2016-05-17 08:12:10 0 删除 编辑

1.修改sqlplus默认提示符

su - oracle

vim $ORACLE_HOME/sqlplus/admin/glogin.sql

加一行

set sqlprompt "_user'@'_connect_identifier> "

 

登录测试:

sqlplus  / as sysdba

就出现如下的提示符:

SYS@实例名>

 

如:

[oracle@zyx expdp]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Fri Apr 29 02:27:47 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SYS@test>

 

2.设置sqlplus登录环境变量

在使用SQL *Plus过程中,常用sqlplus 每次可能都要set pagesize \set linesize \set serveroutput很麻烦。为了方便起见,可以通过Oracle提供的login.sql方式,在login.sql中设置好自定义参数,每次打开SQL *Plus的时候自动进行调用。而不用我们每次手动设置。

可以将login.sql文件拷贝到oracle用户的当前目录下(home/oracle)或者设置SQLPATH环境变量,指向login.sql所在的目录。

 

[oracle@zyx admin]$ ls

glogin.sql  help  libsqlplus.def  plustrce.sql  pupbld.sql

[oracle@zyx admin]$ pwd

/u01/app/oracle/product/11.2.0/db_1/sqlplus/admin

[oracle@zyx admin]$ cd

[oracle@zyx ~]$ vim login.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

 

-------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)下面部分是用于建立sqlplus提示符:

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>'

 

column global_name new_value gname 指令告诉sqlplus取得global_name列中的最后一个值,并将这个值赋给替换变量gname。接下来从数据库中选出global_name,并与我的登录用户名连接。得到的SQL *Plus提示符为:

sys@ORCL>

这样就可以知道当前用户是谁,以及连接的数据库SID

 

-----------------------from oracle database9i/10g11g编程艺术 深入数据库体系结构     Thomas Kyte

 

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

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

注册时间:2015-02-06

  • 博文量
    138
  • 访问量
    892105