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

我想99%都是用到sqlplus来登陆数据库,对数据库进行管理、调优、配置。那么如果有很多台数据库的时候,我们在连接后全部是统一的

引题:大家在日常工作中,我想99%都是用到sqlplus来登陆数据库,对数据库进行管理、调优、配置。那么如果有很多台数据库的时候,我们在连接后全部是统一的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_identified> "

含义:_user 代表 当前登陆用户名 _connect_identified 连接串名 ,在glogin.sql中设置全局sqlplus提示符样子user和connect identified 是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_identified> "

含义:_user 代表 当前登陆用户名 _connect_identified 连接串名 ,在glogin.sql中设置全局sqlplus提示符样子user和connect identified 是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>

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

相关阅读:

rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题

SQLPLUS spool 到动态日志文件名

Oracle SQLPLUS提示符设置

logo.gif 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!有关 Oracle SQL*Plus 乱码的问题,我可以给您一些可能的解决方案。请尝试以下步骤来解决乱码问题: 1. 确保您的终端或客户端工具设置正确。在 Windows 环境下,可以在命令提示符中使用 `chcp` 命令检查当前的代码页设置,并确保它与数据库字符集一致。例如,如果数据库使用 UTF-8 字符集,则可以使用 `chcp 65001` 将代码页设置为 UTF-8。 2. 检查数据库字符集。您可以使用以下查询来确定数据库的字符集: ```sql SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'; ``` 确保客户端工具和数据库字符集一致。 3. 检查会话字符集。在 SQL*Plus 中,可以使用以下语句来检查当前会话的字符集: ```sql SELECT value FROM nls_session_parameters WHERE parameter = 'NLS_CHARACTERSET'; ``` 如果会话字符集与数据库字符集不匹配,可以尝试使用以下命令将会话字符集设置为数据库字符集: ```sql ALTER SESSION SET NLS_CHARACTERSET = <数据库字符集>; ``` 例如: ```sql ALTER SESSION SET NLS_CHARACTERSET = 'UTF8'; ``` 如果需要修改客户端字符集,可以使用以下语句: ```sql ALTER SYSTEM SET NLS_LANG = <客户端字符集>; ``` 例如: ```sql ALTER SYSTEM SET NLS_LANG = 'AMERICAN_AMERICA.UTF8'; ``` 4. 检查操作系统环境变量。确保操作系统的语言和区域设置正确,并与数据库字符集匹配。在 Windows 环境下,可以在控制面板的“区域和语言选项”中进行设置。 5. 确保数据库中存储的数据是正确的字符集编码。如果数据库中的数据已经损坏或包含错误的字符集编码,显示乱码是正常的。 6. 如果以上步骤都没有解决问题,可能需要考虑升级或重新安装 Oracle 数据库以确保字符集设置正确。 请注意,这些解决方案可能会因您的具体环境而有所不同。如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助您解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值