如何使用SQL * Plus在Oracle 11g中显示数据库
借助这个命令show databases;
我可以在MySQL中看到数据库。
如何在Oracle中显示可用的数据库?
您可以将Oracle“数据库”视为Oracle中的模式/用户。 如果您有权限,则可以查询DBA_USERS视图来查看模式列表。
SELECT NAME FROM v$database;
在oracle中显示数据库名称
也许你可以使用这个观点,但我不确定。
select * from v$database;
但是我认为它只会显示关于当前数据库的信息。
其他选项,如果数据库在Linux中运行…应该是这样的:
SQL>!grep SID $TNS_ADMIN/tnsnames.ora | grep -v PLSExtProc
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
我不清楚它,但通常一台服务器有一个数据库(与许多用户),如果您创build多个数据库意味着您创build许多实例,侦听器…以及。 所以你可以检查你的LISTENER
来识别它。
在我的testing中,我创build了2个数据库( dbtest
和dbtest_1
),所以当我检查我的LISTENER状态时,它看起来像这样:
lsnrctl status
….
LISTENER的状态
…..
(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = 10.10.20.20)(PORT = 1521)))
服务总结…
服务“dbtest”有1个实例。
实例“dbtest”,状态READY,有1个处理程序(s)这个服务…
服务“dbtest1XDB”有1个实例。
实例“dbtest1”,状态READY,有1个处理程序(s)为这个服务…
服务“dbtest_1”有1个实例。
实例“dbtest1”,状态READY,有1个处理程序(s)这个服务…命令成功完成