Дифференцированный аудит
Аудит БД фиксирует только операцию, но не всегда сохраняет информацию о команде. Дифференцированный аудит (fine grained auditing - FGA) позволяет регистрировать команды запросов и манипулирования данных языка SQL. FGA - это наиболее точно сфокусированный вид аудита по сравнению с аудитом по значениям и стандартным аудитом БД.
Параметры FGA позволяют сфокусироваться на отдельных столбцах таблицы или представления, задать условия (определяемые администратором спецификации) выполнения аудита. Политика FGA может быть определена на основе нескольких столбцов. По умолчанию аудит выполняется, когда команда SQL содержит любой из наблюдаемых столбцов (audit_column_opts = DBMS_FGA . ANY_COLUMNS). Можно также определить аудит, регистрирующий действие, если команда SQL содержит все наблюдаемые столбцы (audit_column_opts = DBMS_FGA. ALL_COLUMNS).
Используйте пакет PL/SQL DBMSFGA, чтобы создать политику аудита (audit policy) для таблицы или представления. Когда строки блока запроса содержат наблюдаемые столбцы и удовлетворяют условиям аудита, срабатывает событие аудита, в результате которого создается и сохраняется в журнале строка аудита. Дополнительно событие аудита может вызвать выполнение процедуры. FGA автоматически фокусируется на уровне команды, поэтому одна команда SELECT, возвращающая тысячи строк генерирует только одну запись аудита.