2010-06-09 57 views
50

使用此命令show databases;我可以看到数据库的帮助的MySQL显示在Oracle 11g中的数据库。如何使用SQL * Plus

如何在中显示可用的数据库Oracle

回答

39

你可以把一个mysql“数据库”作为Oracle架构/用户。如果您有权限,则可以查询DBA_USERS视图以查看模式列表。

+16

一些oracle数据库有很多没有对象的用户。对于这些,替代方案是SELECT DISTINCT OWNER FROM ALL_OBJECTS; – 2010-06-09 23:26:42

+1

+1不错的选择,请注意,如果您不是特权用户并发出此查询,您将只能看到那些拥有至少其中一个对象的权限的所有者。 – dpbradley 2010-06-10 12:54:19

+4

查询DBA_USERS给出“ORA-00942:表或视图不存在”,也许权限问题?注释中的“SELECT DISTINCT OWNER FROM ALL_OBJECTS;”正在使用相同的访问凭据。 db 11g – a1an 2012-07-18 09:31:17

13

也许你可以使用这种观点,但我不确定。

select * from v$database; 

但我认为它只会告诉你有关当前分贝的信息。

其他选项,如果数据库在Linux上运行...是对子级是这样的:

SQL>!grep SID $TNS_ADMIN/tnsnames.ora | grep -v PLSExtProc 
+0

第一个没有在11g中工作:“ORA-00942:表或视图不存在“ – a1an 2012-07-18 09:27:23

+2

Hi @ a1an。 毫无疑问,11g中存在v $数据库。检查您是否正在以足够的权限执行查询。 这里有关于oracle 11g的v $ database的文档。 http://docs.oracle.com/cd/B28359_01/server.111/b28320/dynviews_1086.htm Algo,在这里你有一个关于在oracle 11g中使用v%数据库的例子。 http://neeraj-dba.blogspot.com.es/2011/10/switchover-to-physical-standby-database.html 祝你好运! – Jonathan 2012-07-18 10:35:33

+1

可能是jsut权限问题,执行它作为sysdba工作 – a1an 2012-07-18 15:23:40

48

SELECT NAME FROM v$database;显示了甲骨文

+0

我认为这就是问题所在。或者至少这是当我听到“数据库”......与模式(或用户)相对时我想到的。 – 2015-01-12 19:50:40

11

的Oracle数据库名称不必像MySQL或MS SQL Server数据库的简单模型。我发现最接近的是查询表空间和其中的相应用户。

例如,我有一个DEV_DB表空间中他们都是我实际的 '数据库':

SQL> SELECT TABLESPACE_NAME FROM USER_TABLESPACES; 

结果造成:

SYSTEM 
SYSAUX 
UNDOTBS1 
TEMP 
USERS 
EXAMPLE 
DEV_DB 

也可以查询所有表空间中的用户:

SQL> select USERNAME, DEFAULT_TABLESPACE from DBA_USERS; 

或特定表空间中(使用我DEV_DB表为例):

SQL> select USERNAME, DEFAULT_TABLESPACE from DBA_USERS where DEFAULT_TABLESPACE = 'DEV_DB'; 

ROLES DEV_DB 
DATAWARE DEV_DB 
DATAMART DEV_DB 
STAGING DEV_DB 
0

我并不清楚这件事,但通常一台服务器有一个数据库(多用户),如果你创建了多个数据库意味着你创建了许多实例,听众......以及。所以你可以检查你的LISTENER来识别它。

在我的测试中,我创建2个数据库(dbtestdbtest_1),所以当我检查我的侦听器的状态,似乎是这样的:

lsnrctl status 

....

听者

的状态

.....

(DESCRIPTION =(ADDRESS =(PROTOCOL = tcp)(HOST = 10.10.20 0.20)(PORT = 1521)))

服务摘要...

服务 “dbtest” 有1个实例(S)。

实例 “dbtest”,状态READY,为这些服务1个处理器(S)...

服务 “dbtest1XDB” 有1个实例(S)。

实例 “dbtest1”,状态READY,为这些服务1个处理器(S)...

服务 “dbtest_1” 有1个实例(S)。

实例 “dbtest1”,状态READY,为这些服务1个处理器(S)...命令成功完成