Существует несколько разных способов получения некоторой или всей этой информации, но я не могу придумать какой-либо метод, который предоставит вам информацию в указанном вами точном формате.
Трассировка
Файл трассировки может записывать все, но все это хранится в текстовом файле, предназначены для чтения человеком. Есть много примеров о том, как сделать это, вот один, который просто работал для меня: http://tonguc.wordpress.com/2006/12/30/introduction-to-oracle-trace-utulity-and-understanding-the-fundamental-performance-equation/
Профилирования
Вы можете использовать DBMS_PROFILER для записи, какие строки номера называется процедурой. Затем вам нужно будет присоединить номера строк к DBA_SOURCE, чтобы получить фактические команды.
V $ SQL
Эта запись заявления SQL выполняются. Вы можете искать SQL по PARSING_SCHEMA_NAME и заказывать LAST_UPDATE_TIME. Но это не приведет к PL/SQL, и V $ SQL может быть сложно использовать. (SQL может возрасти, или может быть загружен кем-то другим и т. Д.)
Но для получения именно того, что вы хотите, все эти решения требуют от вас написать программу для анализа SQL и PL/SQL.Я уверен, что есть инструменты для этого, но у меня нет опыта с ними.
Вы всегда можете написать свой собственный журнал регистрации, но это огромный объем работы. Лучшее решение может заключаться в том, чтобы попросить разработчиков адекватно документировать каждую функцию и перечислить цели, входы, выходы и побочные эффекты всего их кода.
зависимости хорошие. я думал только о трассировке. однако зависимости могут помочь охватить все возможные воздействия, это, вероятно, то, что необходимо с точки зрения тестирования! но рекурсивная проблема сложна :( –
Динамический SQL не отслеживается в DBA_DEPENDENCIES. Оба решения необходимы для покрытия кода. –