Записи аудита могут помещаться либо в аудиторскую таблицу базы данных, либо в аудиторский журнал операционной системы. Запись аудита в журнал операционной системы в некоторых случаях более защищена, но эта возможность доступна не для всех платформ и ее специфика зависит от платформы. В этой статье в качестве места хранения для журнала аудита мы будем использовать базу данных.
Аудит включается для записи в базу данных добавлением следующей строки в файле init.ora. Символьная связь к нему обычно может быть найдена в $ORACLE_HOME/dbs
audit_trail = db
После этого базу данных необходимо перезапустить. Простая проверка покажет, что аудит действительно включен.
SQL> select name,value from v$parameter 2 where name like 'audit%';
NAME VALUE ------------------------------ ---------- audit_trail DB audit_file_dest ?/rdbms/audit
SQL>
Но контролируемые действия не отслеживаются до тех пор, пока эти действия не заданы явно; это верно, кроме случаев привилегированного доступа к базе данных, запуска и останова базы данных, структурных изменений, таких как добавление файла данных. Эти действия отслеживаются в файле операционной системы в $ORACLE_HOME/rdbms/audit до тех пор пока audit_file_dest не переопределено в файле init.ora. В Windows эти события появляются в Event Viewer.
Для того, что бы проверить наличие того, что какие-нибудь привилегии или выражения уже используются для аудита, сделайте следующее:
SQL> select * from dba_stmt_audit_opts 2 union 3 select * from dba_priv_audit_opts;
no rows selected
SQL>
Что бы найти какие объекты уже контролируются аудитом, запросите представление dba_obj_audit_opts.