【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