背景,突然发现数据库中数据表内容大量减少,于是想出查下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; 搜出结果还算有用,虽然都是业务删除,记录下
查询Oracle删除历史
本文介绍了一种查询Oracle数据库中最近三天内执行过的DELETE和TRUNCATE操作的方法。通过使用特定的SQL查询,可以追溯到具体的操作执行者及时间,帮助数据库管理员定位数据变更源头。
5860

被折叠的 条评论
为什么被折叠?



