背景,突然发现数据库中数据表内容大量减少,于是想出查下oracle的sql执行历史以查看是执行的什么sql来删除的,于是搜到了http://blog.youkuaiyun.com/wzy0623/article/details/9388061 ,
以sysdba登录
sqlplus / as sysdba;
执行如下sql查看最近3天执行的delete和truncate操作
SELECT c.username, a.program, b.sql_text, b.command_type, a.sample_time FROM dba_hist_active_sess_history a JOIN dba_hist_sqltext b ON a.sql_id = b.sql_id JOIN dba_users c ON a.user_id = c.user_id WHERE a.sample_time BETWEEN SYSDATE - 3 AND SYSDATE AND b.command_type IN (7, 85) ORDER BY a.sample_time DESC;搜出结果还算有用,虽然都是业务删除,记录下