工作中用到 sqlplus mdsoss/mdsoss, 所以来了解一下sqlplus (C shell .cshrc文件里中alisa)

关于设置SQLPLUS提示符样式的方法

12638阅读 1评论2012-03-28 leonarding
分类:Oracle

摘要:大家在日常工作中,我想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

关于设置SQLPLUS提示符样式的方法----登陆配置文件,动态加载提示符的更多相关文章

  1. js实用方法记录-js动态加载css、js脚本文件

    js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...

  2. Winform中设置DevExpress的RadioGroup的items从配置文件中加载

    场景 DevExpress的RadioGroup的items选项如果是不确定的话,需要其从配置文件中加载. 实现 在项目目录下新建Config文件夹,文件夹下新建xml配置文件. <?xml v ...

  3. js 动态加载事件的几种方法总结

    本篇文章主要是对js 动态加载事件的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助   有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添 ...

  4. 关于设置sqlplus提示符样式的方法

    摘要:大家在日常工作中,我想99%都会用到sqlplus工具来登陆你的数据库,对数据库进行管理.调优.配置.运维.那么如果有n多台数据库的时候,我们在连接后全部是统一的SQL>提示符,就有可能发 ...

  5. Style样式的四种使用(包括用C#代码动态加载资源文件并设置样式)

    Posted on 2012-03-23 11:21 祥叔 阅读(2886) 评论(6) 编辑 收藏 在Web开发中,我们通过CSS来控制页面元素的样式,一般常用三种方式: 1.       内联样式 ...

  6. 第一百一十八节,JavaScript,动态加载脚本和样式

    JavaScript,动态加载脚本和样式 一动态脚本 当网站需求变大,脚本的需求也逐步变大.我们就不得不引入太多的JS脚本而降低了整站的性能,所以就出现了动态脚本的概念,在适时的时候加载相应的脚本. ...

  7. 使用jQuery动态加载js脚本文件的方法

    动态加载Javascript是一项非常强大且有用的技术.这方面的主题在网上已经讨论了不少,我也经常会在一些个人项目上使用RequireJS和Dojo加载js 它们很强大,但有时候也会得不偿失.如果你使 ...

  8. JS学习之动态加载script和style样式

    前提:我们可以把一个网页里面的内容理解为一个XML或者说网页本身也就是一个XML文档,XML文档都有很特殊的象征:"标签"也叫"节点".我们都知道一个基本的网页 ...

  9. 动态加载css方法实现和深入解析

    一.方法引用来源和应用  此动态加载css方法 loadCss,剥离自Sea.js,并做了进一步的优化(优化代码后续会进行分析).  因为公司项目需要用到懒加载来提高网站加载速度,所以将非首屏渲染必需 ...

随机推荐

  1. Java系列: JAVA字符串格式化-String.format()的使用(zz)

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

  2. Python积木之with

    简而言之,with 语句是典型的程序块 “try catch finally”的一种模式抽取.python的作者在PEP343中写道 “ This PEP adds a new statement & ...

  3. python实现简易数据库之二——单表查询和top N实现

    上一篇中,介绍了我们的存储和索引建立过程,这篇将介绍SQL查询.单表查询和TOPN实现. 一.SQL解析 正规的sql解析是用语法分析器,但是我找了好久,只知道可以用YACC.BISON等,sqlit ...

  4. iOS端给unity发送消息,实现两者交互。

    上一篇我们简单说了一下unity发消息给iOS端.现在我们就来说一下iOS端给unity发送消息的简单使用. 首先iOS端做得事情其实很简单就一句话,直接上代码 /** * 第一个参数:是unity那 ...

  5. Promise 学习笔记 - 时间支配者

    本文同步自我的个人博客:http://www.52cik.com/2015/11/08/promise.html JavaScript 的 promises 事实标准称为 Promises/A+.ES ...

  6. Java学习笔记(十五)——javadoc学习笔记和可能的注意细节

    [前面的话] 这次开发项目使用jenkins做持续集成,PMD检查代码,Junit做单元测试,还会自动发邮件通知编译情况,会将javadoc生成的文档自动发到一个专门的服务器上面,每个人都可以看,所以 ...

  7. Object C学习笔记16-委托(delegate)

    在.NET中都知道委托(delegate),通俗点的解释就是可以将方法作为一个参数传到另外一个方法中使用. 委托是一种引用方法的类型.一旦为委托分配了方法,委托将与该方法具有完全相同的行为.委托方法的 ...

  8. RequireJS实例分析

    随着JS越来越庞大,已经不仅仅是以前复制粘贴做特效的时代了,JS越来越偏向于业务逻辑与应用.恰逢Node的流行,JS在web开发中占有越来越重要的地位.由于JS代码庞大,文件数目多,传统的使用< ...

  9. Memcached——非关系型数据库分布式处理

    Memcached登录校验应用: MMCacheWriter.cs类 using Memcached.ClientLibrary; using System; using System.Collect ...

  10. java文件中文在MyEclipse中打开变成了乱码

    导入其他人的项目,出现乱码状况 以下是解决方案之一: