Иногда необходимо регистрировать информацию об операциях, выполняемых в системе баз данных. Это насыпается аудитом (audit). Например, может потребоваться статистика о том, какие действия в системе выполняют пользователи. Аудит можно применять также для слежения за базой данных с целью обнаружения потенциальных нарушении ее защиты.
Избирательный аудит
Средство аудита Oracleможно включать и выключать. При включении аудита требуется определенный расход ресурсов, необходимый для генерации записей аудита. Чтобы свести к минимумуработу, выполняемуюOracleдля аудита базы данных, нужно точно определить, для чего нужен аудит:
- Можно выполнять аудит конкретных SQL-операторов безотносительно к конкретным объектам. Например, можно просить Oracleгенерировать запись аудита всякий раз, когда какой-либо пользователь выполняет операторDROPTABLE, и не учитывать, к какой таблице относится этот оператор.
- Можно выполнять аудит использования мощных системных привилегий. Например, просить Oracleгенерировать запись аудита всякий раз, когда какой-либо пользователь применяет системную привилегиюSELECTANYTABLEдля запроса к таблице базы данных.
- Можно выполнять аудит определенных SQL-операторов для конкретных объектов базы данных. Например, просить Oracleгенерировать запись аудита всякий раз, когда какой-либо пользователь удаляет запись из таблицыSALES.CUSTOMERS.
- Для каждой разрешенной опции аудита можно просить Oracleгенерировать запись аудита для успешного, неуспешного или любого выполнения операторов. Более того, можно установить каждую разрешенную опцию аудита для всех либо для некоторых пользователей базы данных.
- Для каждой разрешенной опции аудита можно просить Oracleгенерировать запись аудита один раз за все время сеанса связи с базой данных независимо от того, сколько раз за это время выполняется оператор, подлежащий аудиту. И наоборот, можно проситьOracleгенерировать запись аудита всякий раз, когда во время сеанса выполняется оператор, подлежащий аудиту.
Записи аудита и журнал аудита
Oracleгенерирует записи аудита только после того, как аудит базы данных разрешен и для него установлены соответствующие опции. Например, можно установить опции аудита для конкретных операторов, объектов и пользователей. В каждую запись аудита включается информация о контролируемом операторе: какая операция выполнялась, какой пользователь ее выполнял, а также дата и время ее выполнения.
Oracleхранит сгенерированные записи аудита в журнале аудита (audittrail), называемом также контрольным журналом. Журнал аудита — это место хранения информации аудита. ВOracleразрешается сохранять генерируемые записи аудита либо в журнале аудита базы данных, либо в таком же журнале операционной системы, в которой работаетOracleServer. При использовании журнала аудита базы данных можно легко просматривать и находить записи аудита с помощью SQL-запросов и предварительно созданных для этого журнала представлений словаря данных. При использовании журнала аудита операционной системы можно объединять информацию аудита базы данных с информацией аудита операционной системы.