События, связанные с пользователями
События, связанные с пользователями, представлены в таблице 12.
|
ID события |
Имя события |
Пояснение |
|---|---|---|
|
50 |
COMMIT |
Фиксация транзакции |
|
51 |
ROLLBACK |
Откат транзакции |
|
1 |
CONNECT |
Подключение пользователя к БД |
|
2 |
DISCONNECT |
Отсоединение пользователя от БД |
|
54 |
OPEN CURSOR |
Открытие подчиненного канала |
|
55 |
CLOSE CURSOR |
Закрытие подчиненного курсора |
|
53 |
USER MESSAGE |
Создание пользовательского сообщения |
Примечание 1
Следующие события протоколируются и в случае успешного и в случае неуспешного выполнения (если разрешено протоколирование этих событий):
-
AUDIT START; -
AUDIT STOP; -
AUDIT MESSAGE <текст сообщения>; -
SET DATABASE NAMES <имя кодировки>; -
ALTER DATABASE SET RECORD SIZE LIMIT <длина>; -
SET DATABASE DEFAULT CHARACTER SET <имя кодировки>;
Это означает, что если, например, выставлен режим:
AUDIT ENABLE SET DATABASE NAMES WHEN SUCCESS;
протоколироваться будут и успешные, и неуспешные события SET DATABASE NAMES.
Примечание 2
Чтобы протоколировать вход пользователя в систему необходимо использовать одну из команд:
-
AUDIT ENABLE CONNECT [WHEN SUCCESS | WHEN NOT SUCCESS]; -
AUDIT ENABLE ACCESS DENIED [WHEN SUCCESS | WHEN NOT SUCCESS];
Данные команды не зависят друг от друга.
Пример.
AUDIT ENABLE CONNECT; AUDIT DISABLE ACCESS DENIED;
В результате работы данной последовательности команд будет выставлен режим:
AUDIT ENABLE CONNECT;
Событие «ACCESS DENIED» означает неуспешное подключение пользователя к БД, то есть подключение с кодом ошибки.
Примечание 3
-
AUDIT ENABLE;включает протоколирование ВСЕХ НЕУСПЕШНЫХ событий.
AUDIT DISABLE;запрещает протоколирование ВСЕХ событий.
Команды:
AUDIT ENABLE LINTER ERROR;AUDIT ENABLE <имя события> WHEN SUCCESS;включают протоколирование и успешных, и неуспешных событий.
Пример.
username SYSTEM/MANAGER8 AUDIT START; AUDIT ENABLE LINTER ERROR; AUDIT ENABLE CREATE TABLE WHEN SUCCESS; ! регистрируется CREATE TABLE T1( I INT); ! регистрируется - ошибка 1503 CREATE TABLE T1( I INT); AUDIT STOP;
-
Для включения протоколирования неуспешных событий необходимо выполнить команды:
AUDIT ENABLE LINTER ERROR;AUDIT ENABLE <имя события>;или
AUDIT ENABLE LINTER ERROR;AUDIT ENABLE <имя события> WHEN NOT SUCCESS;
Примечание 4
Установки для конкретного объекта БД и локальные установки срабатывают ТОЛЬКО для событий типа "TABLE EVENT", и событий EXECUTE TRIGGER и EXECUTE PROCEDURE.
Для всех событий типа "RESOURCE EVENT", если не оговорено отдельно, ключи «ON <идентификатор>» и «FOR <имя пользователя>» будут либо игнорироваться и включать протоколирование всех событий данного типа, либо обрабатываться следующим образом:
-
команда
AUDIT ENABLE <имя события> FOR <имя пользователя> [BY {SESSION | STATEMENT | ACCESS}] [WHEN NOT SUCCESS | WHEN SUCCESS];выдает код завершения 99;
-
команда
AUDIT ENABLE <имя события> ON <идентификатор> [FOR <имя пользователя>] [BY {SESSION | STATEMENT | ACCESS}] [WHEN NOT SUCCESS | WHEN SUCCESS];выдает код завершения 2050;
-
для события
TRUNCATE TABLEи наON <идентификатор>, и наFOR <имя пользователя>выдает код завершения 99; -
для всех остальных событий – игнорируется ключ
«ON <идентификатор>».