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