Как отображать базы данных в Oracle 11g с использованием SQL * Plus - программирование
Подтвердить что ты не робот

Как отображать базы данных в Oracle 11g с использованием SQL * Plus

С помощью этой команды show databases; я могу видеть базы данных в MySQL.

Как показать доступные базы данных в Oracle?

4b9b3361

Ответ 1

Вы можете думать о базе данных mysql как о схеме/пользователе в Oracle. Если у вас есть привилегии, вы можете запросить представление DBA_USERS, чтобы просмотреть список схем.

Ответ 2

SELECT NAME FROM v$database; показывает имя базы данных в oracle

Ответ 3

Возможно, вы могли бы использовать это представление, но я не уверен.

select * from v$database;

Но я думаю, что он только покажет вам информацию о текущем db.

Другой вариант, если db работает в linux... что-то вроде этого:

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

Ответ 4

В 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

Ответ 5

Я не совсем понимаю, но, как правило, у одного сервера есть одна база данных (со многими пользователями), если вы создаете много баз данных, значит, вы создаете множество экземпляров, слушателей.... Поэтому вы можете проверить свой LISTENER, чтобы идентифицировать его.

В моем тестировании я создал 2 базы данных (dbtest и dbtest_1), поэтому, когда я проверяю статус LISTENER, он выглядит следующим образом:

lsnrctl status

....

СОСТОЯНИЕ ПРОСЛУШИВАНИЯ

.....

(ОПИСАНИЕ = (ADDRESS = (PROTOCOL = tcp) (HOST = 10.10.20.20) (PORT = 1521)))

Резюме служб...

Служба "dbtest" имеет 1 экземпляр.

Экземпляр "dbtest", статус READY, имеет 1 обработчик для этой службы...

Сервис "dbtest1XDB" имеет 1 экземпляр (ы).

Экземпляр "dbtest1", статус READY, имеет 1 обработчик для этой службы...

Служба "dbtest_1" имеет 1 экземпляр (ы).

Экземпляр "dbtest1", статус READY, имеет 1 обработчик для этой службы... Команда успешно завершена