有的时候,数据库不定期的出现一些现象,比如出现 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; /