Есть несколько разных способов получить часть или всю эту информацию, но я не могу придумать какой-либо метод, который даст вам информацию в точном формате, который вы указали.
Трассировка
Файл трассировки может записывать все, но все это хранится в текстовом файле, предназначенном для чтения человеком.Есть много примеров того, как это сделать, вот тот, который только что работал для меня: 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.Я уверен, что есть инструменты для этого, но у меня нет опыта работы с ними.
Вы всегда можете написать свою собственную регистрацию, но это огромный объем работы.Лучшее решение может заключаться в том, чтобы попросить разработчиков надлежащим образом документировать каждую функцию и перечислить цель, входные данные, выходные данные и побочные эффекты всего их кода.