[Oracle 工程师手记] 如何构造数据库的 log on trigger


有的时候,数据库不定期的出现一些现象,比如出现 ORA- 错误,但是不太容易再现。我们可以做一个 logon trigger,每次特定的用户登录时,就作一些记录,也可以收集 10046 trace。
例如:

 

connect /as sysdba

CREATE OR REPLACE TRIGGER <YYYYYY>
        AFTER LOGON ON DATABASE
     DECLARE
      v_user varchar2(64);
     BEGIN
       SELECT SYS_CONTEXT('USERENV', 'SESSION_USER')
             INTO v_user FROM dual;
       if v_user = 'XXXXXX' then  
          execute immediate '10046 trace name context forever, level 12';;
       end if;
     END;
/

 

posted @ 2021-04-06 20:51  健哥的数据花园  阅读(120)  评论(0编辑  收藏  举报