Oracle не отслеживает подобные вещи по умолчанию, но если вы просто хотите записать некоторую простую информацию, включите встроенную функциональность AUDIT:
AUDIT EXECUTE PROCEDURE BY ACCESS;
Вы можете просмотреть доступы в представлении dba_audit_trail
. Узнать больше .
Если по какой-то причине вы не хотите использовать контрольный журнал - скажем, вы хотите получить больше информации - тогда вам нужно будет использовать свой собственный механизм ведения журнала. Это хорошее применение для прагмы AUTONOMOUS TRANSACTION. Только будьте осторожны, чтобы написание записей журнала не оказало чрезмерного влияния на производительность вашего приложения.
1012 * редактировать *
Роль процедуры B в вашем вопросе совершенно излишня: либо база данных записывает, как часто выполняется процедура A, либо A записывает свои собственные записи трассировки. Если B не является упакованным запросом в журнале (однако реализован)?