现在数据库业务表中发现部分数据被删除,而且没有痕迹的那种。太高深的监测不会,所以想了下使用触发器查找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;测试发现,根本找不到数据。
各路豪杰,大神,求助啊!!!