sábado, 8 de julho de 2017

Trigger de logon para ativar trace

Olá pessoal.

Tive uma necessidade a um tempo atrás de ativar um trace em uma detereminada sessão que viesse de um programa específico.

Coisa simples, então vou deixar documentado aqui para quem precisar a trigger de logon que eu usei.

create or replace trigger sys.LOGON_TRACE
      after logon on database
DECLARE
      v_username VARCHAR2(70);
      v_program  VARCHAR2(70);
BEGIN
      SELECT LOWER(USERNAME),
                      LOWER(PROGRAM)
      INTO  v_username,
                 v_program
      FROM sys.v_$session
      WHERE
                   sid = SYS_CONTEXT('USERENV', 'SID');

  -- if ora_login_user = 'MARIO' then   -- Se quiser utilizar a trigger em determinados logins
  IF (v_program = 'q_sender.exe' OR v_program='sqlplusw.exe')
  THEN
        EXECUTE IMMEDIATE 'ALTER SESSION SET sql_trace=TRUE';
        EXECUTE IMMEDIATE 'alter session set timed_statistics=true';
        EXECUTE IMMEDIATE 'alter session set max_dump_file_size=unlimited';
EXECUTE IMMEDIATE 'alter session set events=''10046 trace name context forever, level 12''';
  END IF;
END LOGON_TRACE;
/

Então é isso pessoal, simples e objetivo. 

Abraço
Mario

Nenhum comentário:

Postar um comentário

Isso te ajudou? Comente...

Postagem em destaque

[ORACLE] Embedding ONNX model for Vector Search tests with Oracle Database 23ai

Hello, everyone. How's it going? Today, I'm going to show you how to load an ONNX model into the Oracle 23ai database for your vecto...