Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Oracle

Как журналировать все действия от определенного пользователя ОС : Oracle

23.02.2025 18:59


15.02.2023 10:29
Повадился тут один админ копаться в моей базе. Стало интересно, что же он делает. Для этого решил включать трассировку сессии, если входит пользователь с определенным пользователем ОС (у админа, к сожалению, есть пароль SYS и разница между нами только в пользователе ОС). Соответственно, чтобы не терять трейс среди кучи других, выставляется идентификатор makar
SQL код:
CREATE OR REPLACE TRIGGER adm_makarov_login_trigger
AFTER LOGON ON DATABASE
DECLARE
  osuser VARCHAR2(30);
BEGIN
  SELECT SYS_CONTEXT('USERENV', 'OS_USER') INTO osuser FROM DUAL;
  IF osuser = 'adm_makarov' THEN
    DBMS_SESSION.SET_IDENTIFIER('makar');
    DBMS_MONITOR.SESSION_TRACE_ENABLE(waits=>TRUE, binds=>TRUE);
  END IF;
END;
/ 
15.02.2023 10:34
Таким образом,все операции администратора будут журналированы под данным идентификатором.
Часовой пояс GMT +3, время: 18:59.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.