【oracle/sqlplus】修改glogin.sql以在sqlplus提示符中显示用户和服务名

【glogin.sql的地址】

此地址在$ORACLE_HOME\sqlplus\admin\glogin.sql

在我的T440p上,地址是:

C:\app\ufo\product\11.2.0\dbhome_1\sqlplus\admin\glogin.sql

 

【修改文件内容并保存】

打开glogin.sql,原文件中只有注释,像这样:

--
-- Copyright (c) 1988, 2005, Oracle.  All Rights Reserved.
--
-- NAME
--   glogin.sql
--
-- DESCRIPTION
--   SQL*Plus global login "site profile" file
--
--   Add any SQL*Plus commands here that are to be executed when a
--   user starts SQL*Plus, or uses the SQL*Plus CONNECT command.
--
-- USAGE
--   This script is automatically run
--

在尾后增加以下内容:

set feedback on
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

之后保存,保存的时候会有权限问题,这时右键单击目录,选择“授予访问权限”给当前用户就好了。

 

【简化版】

如果感觉上面这段太长不好记,可以试试下面这段简化版:

set feedback on
set termout off
define prpt=idle
column display_prompt new_value prpt
select lower(user)||'@'||global_name display_prompt from global_name;
set sqlprompt '&prpt>'
set termout on 

 

【运行效果】

打开SQL plus,当前用户和服务名就自动显示在sql提示符中了:

如图:

SQL*Plus: Release 11.2.0.1.0 Production on 星期六 7月 2 09:10:53 2022

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

请输入用户名:  luna
输入口令:

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

luna@ORCL>select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY
-------------------
2022-07-02 09:20:19

已选择 1 行。

luna@ORCL>

这样在打开多个数据源操作就方便多了。

 

参考资料:

《Oracle DBA工作笔记 运维、数据迁移与性能调优》P35 杨建荣编著 中国铁道出版社有限公司出版

 

END

posted @ 2022-07-02 09:24  逆火狂飙  阅读(210)  评论(1编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东