2010-06-09 53 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)...命令成功完成