背景:
Oracle database 12c多租户出现之后,Oracle数据库第一次出现了类似于"多库结构"的概念.
多库结构的意思是在一个数据库服务下有多个数据库在运行.
IBM DB2,SAP Sybase ASE,MS SQLServer,MySQL,PostgreSQL均是多库结构.
既然是一个数据库服务下有多个数据库,那么就存在错误连接到不是自己想登陆的数据库下的可能性.
因此,登陆到Oracle数据库12c之后,第一个需要确认的是自己当前登陆的是哪个数据库.
如下SQL经过我测试,也是可以的,可以作为第三种方法
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>