Как вы узнаете, какие ссылки на базы данных используются в запросах к СУБД Oracle? - PullRequest
5 голосов
/ 18 марта 2010

Я хотел бы выяснить, используются ли какие-либо ссылки на базы данных, для схемы и в каких таблицах.Возможно ли это как-то через словарь данных?

Возможно ли это с СУБД Oracle?

Ответы [ 3 ]

3 голосов
/ 05 мая 2015

Я знаю, что ответ Дагмана принят и точен. Но вот еще немного информации.

Если пользователь не является пользователем DBA, он не будет иметь доступа к DBA_DB_LINKS. Кроме того, USER_DB_LINKS будет отображать ссылки на БД, созданные текущим пользователем, поэтому в нем не будут перечислены все ссылки на БД, к которым у пользователя есть доступ.

Вы можете использовать ALL_DB_LINKS, чтобы получить ссылки, к которым у пользователя есть доступ.

select * from all_db_links;
3 голосов
/ 18 марта 2010

Это покажет вам любые ссылки базы данных, настроенные в базе данных:

select * from dba_db_links;

Затем вам придется искать любые запросы или объекты, используя ссылку на БД, выполняя их текстовый поиск для синтаксиса ссылки <tablename>@<dblink name>

1 голос
/ 11 февраля 2014

Вы можете сначала отредактировать весь sql-код схемы: например:

SELECT DBMS_METADATA.GET_DDL(object_type, object_name, owner)
  FROM all_OBJECTS
  WHERE (OWNER = 'your schema name');

, а затем найдите в результате шаблон db_link, который выглядит как @dblink_name.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...