Oracle数据库设置SQL Plus提示符

Posted dingdingfish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库设置SQL Plus提示符相关的知识,希望对你有一定的参考价值。

以下SQL脚本将SQL Plus提示符设置为用户名+数据库名:

column global_name new_value gname
set termout off
select lower(user) || '@' ||  global_name global_name from global_name;
set termout on
set sqlprompt '&gname> '

set termout off不显示命令的输出,但只在脚本中有效。

column new_value命令将列的值赋予变量。

也可以使用SQL Plus中预定义的变量:

SQL> define
DEFINE _DATE           = "23-NOV-21" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "cdb12" (CHAR)
DEFINE _USER           = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1202000100" (CHAR)
DEFINE _EDITOR         = "vi" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production" (CHAR)
DEFINE _O_RELEASE      = "1202000100" (CHAR)

SQL> set sqlprompt "_user'@'_connect_identifier>"
SYS@cdb12>

下一步是要设置SQL Plus启动时自动执行脚本。有两种方式:

  • 全局脚本 glogin.sql,位于$ORACLE_HOME/sqlplus/admin/
  • 用户脚本 login.sql,位于$ORACLE_PATH

参考文档

  • https://mikedietrichde.com/2017/04/17/security-change-in-oracle-database-12-2-with-login-sql/

以上是关于Oracle数据库设置SQL Plus提示符的主要内容,如果未能解决你的问题,请参考以下文章

Oracle里 用sql*plus 登陆时,用户名和密码是多少啊?

oracle SQL*PLUS在创建数据库时为啥会提示数据库已装载

最喜欢的 SQL*Plus 提示和技巧 [关闭]

oracle 的sql*plus问题

使用sql*plus连接oracle数据库时,输入口令提示协议适配器错误,当初安装时口令不符合它的规范,怎么解决?

oracle11g sql dever链接提示ora-12505,sql plus可以正常连接