博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于设置SQLPLUS提示符样式的方法
阅读量:6004 次
发布时间:2019-06-20

本文共 2223 字,大约阅读时间需要 7 分钟。

摘要:大家在日常工作中,我想99%都会用到sqlplus工具来登陆你的数据库,对数据库进行管理、调优、配置、运维。那么如果有n多台数据库的时候,我们在连接后全部是统一的SQL>提示符,就有可能发生目前不知道连接到
哪个库上,当我们切换用户很频繁的时候也有可能不清楚当前在使用的是哪个用户,下面我就给大家介绍一下,如何配置sqlplus工具的登陆配置文件,来动态加载我们提示符的样子。

系统:RedHat Linux 5.4

数据库:oracle 10G

工具:sqlplus


一、全局模式

什么叫全局模式呢:当我们配置完sqlplus工具加载配置文件后,无论在哪个目录下登陆数据库,您设置【sqlplus提示符样子,在任何目录下进入sqlplus工具都会加载此提示符样子】的效果都可以呈现出来

1.glogin.sql 配置文件的位置

答:$ORACLE_HOME/sqlplus/admin/glogin.sql

 vim $ORACLE_HOME/sqlplus/admin/glogin.sql

2.添加的字符串,取默认变量

定位到这个文件的最后一行,回车另起一行的开头添加如下字符串

set sqlprompt "_user'@'_connect_identifier> "

或者 set sqlprompt '_user@&_connect_identifier> '

含义:_user 代表当前登陆用户名,_connect_identifier 代表当前数据库连接串名,在glogin.sql中设置全局sqlplus提示符样子user和connect identifier是sqlplus的默认变量

注:此时设置的是在所有目录下登陆sqlplus工具都会生效,@替换成【¥/#/&都可以】,从别的目录进入sqlplus也加载提示符变量

3.保存&退出

4.sqlplus / as sysdba

看现在的sqlplus提示符已经变化了,sys表示当前登录的是管理员用户,mdsoss是我的数据库连接串名,这样的话我们就可以在登录若干个数据库的时候不会发生混淆的情况了。

sys@mdsoss>

二、局部模式

什么叫局部模式呢:只在当前目录有效,例如我们在当前目录下配置login.sql文件,那么就在当前目录下进入sqlplus工具会加载login.sql文件提示符会生效,其他目录下登陆不生效

1.在当前目录下创建login.sql文件

例子 vim /home/oracle/login.sql

2.编辑login.sql文件,添加一行字符串

set sqlprompt "_user'@'_connect_identifier> "

或者 set sqlprompt '_user@&_connect_identifier> '

含义:_user 代表当前登陆用户名,_connect_identifier 代表当前数据库连接串名,在glogin.sql中设置全局sqlplus提示符样子user和connect identifier是sqlplus的默认变量

注:此时设置的是在当前目录下登陆sqlplus工具提示符生效,@替换成【¥/#/&都可以】,从别的目录进入sqlplus不加载提示符变量

3.保存&退出

4.sqlplus / as sysdba

sys@mdsoss>

5.局部生效测试版

如果我们在其他目录下登录sqlplus,这是我们已经发现了不同点,恢复到原始状态

sqlplus / as sysdba

SQL>


三、指定用户名和实例名方法

1.编辑glogin.sql和login.sql文件,在最后面添加如下内容

set term off

define user_name=""

define instance_name=""

column user_name new_value user_name

column instance_name new_value instance_name

select lower(user) user_name, instance_name instance_name from v$instance;

set sqlprompt '&user_name@&instance_name>'     

注释:--user_name 代表当前登陆的用户名,instance_name 代表当前登陆的实例名

sys@mdsoss> @可替换【¥/#/&都可以】

2.使用sqlplus登录数据库

这种方式在登陆和切换用户的时候,可指定用户名和实例名

enter value for user: liusheng

enter value for instance_name:leonarding

liusheng@leonarding>

小结:使用上述方法可以让我们在数据库海洋里游刃有余,平时练习的时候也可以加上,形成习惯,这样在连接不同的数据库时就不会导致不知道连接的是哪个库了。


Leonarding 刘盛

2012.03.28

天津&spring

分享技术~成就梦想

Blog:www.leonarding.com

 本文转自 ztfriend 51CTO博客,原文链接:http://blog.51cto.com/leonarding/1376356,如需转载请自行联系原作者

你可能感兴趣的文章
exchange 2013脱机通讯簿地址列表的修改
查看>>
关于Cocos Creator脚本执行顺序的几点补充
查看>>
微软泄漏Windows Phone 8新特性
查看>>
使用Spring Data Redis操作Redis(二)
查看>>
我的友情链接
查看>>
RSA2012系列(5):虚拟化安全总揽
查看>>
【马哥教育视频】grep、egrep及正则表达式入门篇
查看>>
读书笔记-项目计划、进度与控制
查看>>
Google adsense帐户被封到解封全过程
查看>>
Exchange 2013多租户托管PART 6:OWA登录配置
查看>>
ubuntu自动登陆设置
查看>>
[轉]MYSQL的常用命令和增删改查语句和数据类型
查看>>
.NET WinForm中使用Timer定时更新ProgressBar的进度
查看>>
如何构建智能应用?
查看>>
Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:分组数据...
查看>>
[转]对于C语言中指针和数组的认识和看法
查看>>
想写程序吗?远离你的计算机!
查看>>
PMP认证
查看>>
JSON 序列化 与反序列化
查看>>
(Excel)常用函数公式及操作技巧之四:文本与页面设置(五)
查看>>