一.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