Oracle DB: Аудит
Обслуживание аудита
Ссылки по теме:
- Как обслуживать таблицу AUD$ : Oracle
- Administering the Audit Trail
- Практическое администрирование Oracle - Аудит. Часть1.
- Практическое администрирование Oracle - Аудит. Часть2.
Типы аудита
- AUDIT_TRAIL_ALL, все типы аудита
- AUDIT_TRAIL_AUD_STD, стандартная таблица аудита, AUD$
- AUDIT_TRAIL_FGA_STD, Fine-grained, таблица FGA_LOG$
- AUDIT_TRAIL_UNIFIED
- AUDIT_TRAIL_XML
- AUDIT_TRAIL_OS
Ручная чистка стандартного аудита
-- определение размера таблиц SELECT segment_name, round(bytes/1024/1024/1024,1) as sz_gb FROM DBA_SEGMENTS WHERE SEGMENT_NAME IN ('AUD$', 'FGA_LOG$'); -- определение диапазона дат и количества записей col t1 format a30; col t2 format a30; SELECT min(ntimestamp#) t1, max(ntimestamp#) t2, count(*) count FROM SYS.AUD$; SELECT min(ntimestamp#) t1, max(ntimestamp#) t2, count(*) count FROM SYS.FGA_LOG$; -- проверка параметров автоматической чистки SELECT * FROM DBA_AUDIT_MGMT_CONFIG_PARAMS; PARAMETER_NAME PARAMETER_VALUE AUDIT_TRAIL ------------------------------ -------------------- ------------------------------------------------------------------------------------ DEFAULT CLEAN UP INTERVAL 24 STANDARD AUDIT TRAIL DEFAULT CLEAN UP INTERVAL 24 FGA AUDIT TRAIL -- если присутствуют данные параметры, то необходимо переинициализировать автоматическую чистку -- если параметры отсутствуют, то необходимо инициализировать автоматическую чистку -- переинициализация автоматической чистки BEGIN DBMS_AUDIT_MGMT.DEINIT_CLEANUP( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD ); DBMS_AUDIT_MGMT.INIT_CLEANUP( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, DEFAULT_CLEANUP_INTERVAL => 24*7 // интервал задается в часах, допустимый диапазон [1-999] ); END; -- чистка до заданной даты -- необходимо учитывать, что чистка может привести к переполнению каталога с архив-логами -- необходимо определить диапазон данных аудита и выбирать дату так, чтобы в одну итерацию чистки не попадало слишком много данных BEGIN SYS.DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP ( AUDIT_TRAIL_TYPE => SYS.DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, LAST_ARCHIVE_TIME => SYSTIMESTAMP - <retention_days> ); SYS.DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL ( AUDIT_TRAIL_TYPE => SYS.DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, USE_LAST_ARCH_TIMESTAMP => TRUE ); commit; END; /