- 论坛徽章:
- 0
|
有时候,我们做troubleshooting的时候,往往通过会话一级的跟踪找不到会话执行的SQL了或者不能确定是哪个会话引起来的问题,这个时候我们可以在系统一级创建一个用户登录/登出的触发器来跟踪用户执行的SQL语句: CREATE OR REPLACE TRIGGER trig_marsngadmin_logon after logon on database begin if login_user = 'MARSNGADMIN' then execute immediate 'alter session set events ''10046 trace name context forever,level 12'''; end if; end trig_marsngadmin_logon; /
CREATE OR REPLACE TRIGGER trig_marsngadmin_logoff
before logoff on database -- For Oracle 11g begin if login_user = 'MARSNGADMIN' then execute immediate 'alter session set events ''10046 trace name context off'''; end if; end trig_marsngadmin_logon; / 通过这种方式,我们就可以跟踪到用户的活动情况了!
|
|