一.SQLPLUS中SQL命令提示符提示信息改变:

注意加#号不能注释掉一条语句

每次登陆SQLPLUS会自动调用glogin.sql文件。位置在ORACLE_HOME的/sqlplus/admin下:

[oracle@bys001 ~]$ cd $ORACLE_HOME
[oracle@bys001 admin]$ ls
glogin.sql  libsqlplus.def  pupbld.sql
help        plustrce.sql

方法一:显示用户名和实例名SQL>正常情况下的提示符

增加 set sqlprompt "_user@ _connect_identifier>"      注意_user和 @之间可无空格,也可以有。@和_connect_identifier之前必须有空格

[oracle@bysrac1 admin]$ sqlplus / as sysdba



SYS@ bysrac1>select name from v$database;



NAME


---------


BYSRAC


方法二:只显示用户名

增加set sqlprompt "&_user>"

>conn bys/bys

已连接。

BYS>connscott/tiger

已连接。

SCOTT>conn / assysdba

已连接。

SYS>

方法三:显示用户名和用户角色,只能区分SYSDBA,SYSOPER,和一般用户时无提示。

增加set sqlprompt "_user|_privilege>"

| >conn bys/bys

已连接。

BYS|>conn / as sysdba

已连接。

SYS| AS SYSDBA>showuser

USER 为 "SYS"

SYS| ASSYSDBA>conn scott/tiger

已连接。

SCOTT| >conn /as sysoper

ERROR:

ORA-01031:insufficient privileges

警告: 您不再连接到ORACLE。

| >connsys/oraclesys as sysoper

已连接。

PUBLIC|AS SYSOPER>show user

USER 为 "PUBLIC"

PUBLIC| ASSYSOPER>conn bys/bys

已连接。

BYS| >connsystem/oraclesystem

已连接。

SYSTEM|>conn system/oraclesystem as sysdba

已连接。

SYS| AS SYSDBA>

方法四:自定义提示信息

增加 set sqlprompt "我是好人>"

我是好人>conn bys/bys

已连接。

我是好人>show user

USER 为 "BYS"

我是好人>

增加set sqlprompt"&_user|HELLO>"

|HELLO>connbys/bys

已连接。

BYS|HELLO>


方法五:再增加上登陆时间提示

set sqlprompt "_user@bys1 time: _date>"

BYS@bys1 time: 05-SEP-13>


在glogin.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




实际应用1:

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 serveroutput on size 1000000


set linesize 100


set pagesize 9999


set timing on


set termout off




实际应用2: 手动把库名写为dg1,不方便之处是远程登陆其它数据库时,显示的数据库名还是 dg1

set serveroutput on size 1000000


set linesize 100


set pagesize 9999


set timing on


set sqlprompt "_user@dg1>"


显示为


SYS@dg1>


实际应用3:目前使用的,显示用户名和实例名

set serveroutput on size 1000000
set linesize 1000
set pagesize 9999
set timing on
set trimspool on
set termout on
set sqlprompt "_user@ _connect_identifier>"

实际应用4:目前使用的。--如果数据库没启动,会显示为idle

set serveroutput on size 1000000
set linesize 1000
set pagesize 9999
set timing on
set trimspool on
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select 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