28.12.2011

Пример работы с sys.aud$

Время работы пользователя по дням из таблицы аудита

Выбирается минимальное и максимальное время время любого действия из аудита и группируется по дням
SELECT A.USERID,
       TRUNC(A.NTIMESTAMP# + (3 / 24), 'DDD'),
       MIN(A.NTIMESTAMP# + (3 / 24)),
       MAX(A.NTIMESTAMP# + (3 / 24)),
       a.logoff$time
  FROM sys.AUD$ A
 WHERE A.OBJ$CREATOR = 'Alex' --схема
   AND A.USERID in ('ALEX') -- пользователь
   AND (A.NTIMESTAMP#+(3/24) between
       TO_DATE('01.11.2011 00:00', 'FMDD.MM.YYYY HH24:MI') and
       TO_DATE('01.12.2011 00:00', 'FMDD.MM.YYYY HH24:MI'))
 GROUP BY A.USERID, TRUNC(A.NTIMESTAMP# + (3 / 24), 'DDD'), a.logoff$time
 ORDER BY A.USERID asc, TRUNC(A.NTIMESTAMP# + (3 / 24), 'DDD') asc

Комментариев нет :