日期:2014-05-17  浏览次数:20994 次

查找 触发触发器的语句
现在数据库业务表中发现部分数据被删除,而且没有痕迹的那种。太高深的监测不会,所以想了下使用触发器查找delete语句。数据库是10g的。
使用 v$sqlarea 和 v$session 关联。大致是这样写的

select t.sql_text into v_sql from v$sqlarea t, v$session s
where t.sql_id = s.sql_id
and upper(t.sql_text) like 'DELETE%'||v_table_name||'%'
and s.audid = userenv('SESSIONID');

不考虑返回多行的问题,我使用

delelte from tablename where id=v_id;

测试发现,根本找不到数据。
各路豪杰,大神,求助啊!!!

------解决方案--------------------
提交了吗?
一般抓这个用审计好点