Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ibs / LB / ЛБ / ЛБ 8-9 аудит оракл.doc
Скачиваний:
38
Добавлен:
29.03.2016
Размер:
202.75 Кб
Скачать

Регистрация значений переменных связывания

В сервере Oracle Database 10gв журнал обычного аудита может записываться дополнительная информация, такая, как значения переменных связывания, используемых в запросах. Этот режим включается установкой параметра инициализации:

audit_trail = DB_EXTENDED

Возможно, не имеет смысла сохранять значения переменных связывания в журнале аудита FGA. Если вы хотите прекратить запись значений переменных связывания, вы можете использовать еще один параметр процедуры add_policy():

audit_trail => DB

По умолчанию переменные связывания записываются, и значение этого параметра устанавливается как DB_EXTENDED.

Обобщение вышеизложенного

Теперь, когда вы узнали о нескольких новых параметрах FGA в сервере Oracle Database 10g, посмотрим, как сейчас выглядит определение скрипта для создания правил аудита.

В скрипте мы определяем четыре различных правила, соответствующих четырем типам операторов. Правила для операторов SELECT показаны ниже; здесь мы решили не записывать значения переменных связывания и инициировать события аудита только тогда, когда в запросе используются оба столбца ACCOUNT_NO и BALANCE:

begin

dbms_fga.add_policy (

object_schema => 'ANANDA',

object_name => 'ACCOUNTS',

policy_name => 'ACCOUNTS_SEL',

audit_column => 'ACCOUNT_NO, BALANCE',

audit_condition => 'BALANCE >= 3000',

statement_types => 'SELECT',

audit_column_opts => DBMS_FGA.ALL_COLUMNS,

audit_trail => DB

);

end;

Так же мы создадим подобные правила для операторов INSERT, UPDATE и DELETE. Они могут произвольно быть включенными или выключенными.

Комбинируем обычный и детальный аудит

В сервере Oracle Database 10gсредства обычного аудита были также значительно улучшены. Управляемые с помощью оператора AUDIT средства обычного аудита могут теперь регистрировать дополнительную полезную информацию, такую, как:

  • расширенные, гранулированные отметки времени;

  • идентификаторы процессов операционной системы;

  • идентификаторы транзакций (когда запись аудита генерируется для транзакции, модифицирующей данные, например, обновляющей их, записывается идентификатор транзакции, который позднее можно использовать для соединения с представлением DBA_TRANSACTION_QUERY для идентификации точного оператора, SQL-операторов для отката транзакции, идентификатора строки и т.п.);

  • текст SQL-операторов;

  • значения переменных связывания;

  • номер SCN во время изменения.

Как видите, по содержанию и возможностям обычный аудит походит на детальный аудит. Но, как администратор базы данных, вы заинтересованы в получении всех записей аудита, а не только одного типа. Новое представление DBA_COMMON_AUDIT_TRAIL объединяет записи аудита FGA и обычного аудита. Чтобы проверить оба журнала аудита, используйте следующий запрос:

select * from dba_common_audit_trail;

Это представление объединяет представления DBA_AUDIT_TRAIL и DBA_FGA_AUDIT_TRAIL, извлекая важную информацию из каждого. Оно создается в словаре данных следующим образом:

select 'Standard Audit', SESSIONID,

PROXY_SESSIONID, STATEMENTID, ENTRYID, EXTENDED_TIMESTAMP, GLOBAL_UID,

USERNAME, CLIENT_ID, Null, OS_USERNAME, USERHOST, OS_PROCESS, TERMINAL,

INSTANCE_NUMBER, OWNER, OBJ_NAME, Null, NEW_OWNER,

NEW_NAME, ACTION, ACTION_NAME, AUDIT_OPTION, TRANSACTIONID, RETURNCODE,

SCN, COMMENT_TEXT, SQL_BIND, SQL_TEXT,

OBJ_PRIVILEGE, SYS_PRIVILEGE, ADMIN_OPTION, GRANTEE, PRIV_USED,

SES_ACTIONS, LOGOFF_TIME, LOGOFF_LREAD, LOGOFF_PREAD, LOGOFF_LWRITE,

LOGOFF_DLOCK, SESSION_CPU

from DBA_AUDIT_TRAIL

UNION ALL

select 'Fine Grained Audit', SESSION_ID,

PROXY_SESSIONID, STATEMENTID, ENTRYID, EXTENDED_TIMESTAMP, GLOBAL_UID,

DB_USER, CLIENT_ID, EXT_NAME, OS_USER, USERHOST, OS_PROCESS, Null,

INSTANCE_NUMBER, OBJECT_SCHEMA, OBJECT_NAME, POLICY_NAME, Null,

Null, Null, STATEMENT_TYPE, Null, TRANSACTIONID, Null,

SCN, COMMENT$TEXT, SQL_BIND, SQL_TEXT,

Null, Null, Null, Null, Null,

Null, Null, Null, Null, Null,

Null, Null

from DBA_FGA_AUDIT_TRAIL