13 апреля 2011 г.

oracle: аудит SYS.AUD$

Проверить установлен ли аудит в базе
select name,value from v$parameter where name like 'audit%';

Установить аудит, если не установлен
  1. Установить параметр в init.ora
    audit_trail=true
    # может принимать значения AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }
    Или установить параметр в spfile:
    SQL> ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE;
  2. Рестарт базы
Установить аудит на user connections
SQL> connect / as sysdba
SQL> audit connect 
 
Смотрим рез-тат
select * from dba_audit_session order by sessionid desc;
select * from  sys.aud$ order by sessionid desc;


Посмотреть параметры аудита
select * from DBA_STMT_AUDIT_OPTS;

select * from DBA_PRIV_AUDIT_OPTS;

select * from DBA_OBJ_AUDIT_OPTS;



Посмотреть, где находятся данные аудита
select * from dba_segments where segment_name like 'AUD$';

Выборка из таблицы SYS.AUD$
select * from  sys.aud$ order by sessionid desc;
-- значение поля ACTION# из SYS.AUD$
select * from AUDIT_ACTIONS;


Выборка пользовательских сессий
select * from dba_audit_session order by sessionid desc;