借助此命令 show databases;
,我可以在 MySQL 中看到数据库。
如何在 Oracle 中显示可用的数据库?
答案 0 :(得分:71)
SELECT NAME FROM v$database;
显示oracle中的数据库名称
答案 1 :(得分:46)
您可以将MySQL“数据库”视为Oracle中的架构/用户。如果您具有权限,则可以查询DBA_USERS
视图以查看模式列表。
答案 2 :(得分:19)
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
答案 3 :(得分:14)
也许您可以使用此视图,但我不确定。
select * from v$database;
但我认为它只会向您显示有关当前数据库的信息。
其他选项,如果db在linux中运行......应该是这样的:
SQL>!grep SID $TNS_ADMIN/tnsnames.ora | grep -v PLSExtProc
答案 4 :(得分:1)
我不清楚它,但通常一个服务器有一个数据库(有很多用户),如果你创建了许多数据库意味着你创建了许多实例,监听器......。因此,您可以检查LISTENER
以识别它。
在我的测试中,我创建了2个数据库(dbtest
和dbtest_1
),所以当我检查我的LISTENER状态时,它看起来像这样:
lsnrctl status
...
LISTENER的状态
.....
(DESCRIPTION =(ADDRESS =(PROTOCOL = tcp)(HOST = 10.10.20.20)(PORT = 1521)))
服务摘要......
服务" dbtest"有一个实例。
实例" dbtest",状态READY,有1个此服务的处理程序...
服务" dbtest1XDB"有一个实例。
实例" dbtest1",状态READY,有1个此服务的处理程序......
服务" dbtest_1"有一个实例。
实例" dbtest1",状态READY,有1个此服务的处理程序...命令已成功完成