登录到Oracle database 12c多租户数据库中,第一个要确定的事情---我当前连对数据库了么?

前端之家收集整理的这篇文章主要介绍了登录到Oracle database 12c多租户数据库中,第一个要确定的事情---我当前连对数据库了么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
背景:
Oracle database 12c多租户出现之后,Oracle数据库第一次出现了类似于"多库结构"的概念.
多库结构的意思是在一个数据库服务下有多个数据库在运行.
IBM DB2,SAP Sybase ASE,MS sqlServer,MysqL,Postgresql均是多库结构.

既然是一个数据库服务下有多个数据库,那么就存在错误连接到不是自己想登陆的数据库下的可能性.
因此,登陆到Oracle数据库12c之后,第一个需要确认的是自己当前登陆的是哪个数据库.

C:\Documents and Settings\Administrator>sqlplus system/aaaaaa@highgo1

sql*Plus: Release 11.2.0.4.0 Production on 星期六 3月 18 22:21:24 2017

Copyright (c) 1982,2013,Oracle.  All rights reserved.


连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

sql> show con_name     ---------->>>>第一种:由于这是11gR2的client,因此无法识别con_name
concat "." (hex 2e)
SP2-0158: 未知的 SHOW 选项 "_name"
sql> select sys_context('Userenv','Con_Name') "Container DB" from dual;

Container DB
--------------------------------------------------------------------------------

HIGHGO1

sql>--------------->>>>第二种就是如上的sql语句

如上两种摘自:
Oracle Multitenant Option - 12c : Frequently Asked Questions (文档 ID 1511619.1)

如下sql经过我测试,也是可以的,可以作为第三种方法

sql> select sys_context('Userenv','db_name') from dual;

SYS_CONTEXT('USERENV','DB_NAME')
--------------------------------------------------------------------------------

HIGHGO1

sql>
原文链接:https://www.f2er.com/oracle/210085.html

猜你在找的Oracle相关文章