выяснить механизм загрузки стола oracle - PullRequest
1 голос
/ 12 февраля 2020

Я имею дело с черным ящиком. Это oracle дБ. Там нет документации. Кроме того, у меня нет опыта работы с oracle dbs, единственное, что я знаю, это то, что он использует odi для реализации потоков загрузки. Есть ли способ выбрать стол и отследить процесс загрузки? Как я собираюсь найти, какой пакет загружает таблицу?

Есть ли оператор sql, который может привести меня к методу загрузки? Как я могу выполнить обратный инжиниринг этого?

Например, в sql server я бы проверил sql agent, чтобы найти работу, которая загружает таблицу, или запросил SSIS metadata, чтобы найти пакет, который включает данный Таблица. Есть ли что-то подобное в oracle?

1 Ответ

1 голос
/ 13 февраля 2020

Для начала я бы попробовал:

    select * from dba_source 
    where upper(text) like '%<your_table_name_in_caps>%' 
    and owner != 'SYS';

Это может указывать на объекты (пакеты, функции, процедуры, триггеры и т. Д. c.), Которые ссылаются на таблицу в вопрос. Надеюсь, это даст вам направление. Если dba_source (текстовый источник всех сохраненных объектов в базе данных) не работает, попробуйте all_source (объекты, доступные текущему пользователю).

Вы также можете запросить некоторые из истории таблицы (dba_hist_sqltext, dba_hist_active_sess_history et c.) для проверки программ, которые недавно обращались к этой таблице, или для проверки любых запланированных заданий (dba_scheduler_jobs).

Это все слепые попадания, которые могут привести к несущественные результаты в зависимости от вашего конкретного случая c. Удачи и возвращайтесь сюда, если вам нужна дополнительная помощь.

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