怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录

概述

最近发现某张表数据有点异常,想看下这段时间这张表是否做了一些改动,因为审计没针对这张表单独审计,所以不好查询到,就利用了闪回来查看Oracle表历史时刻数据,因为数据比较敏感,所以单独做了个实验来演示。


利用闪回查看Oracle表历史时刻数据测试数据准备

create table nc633gold.t1 as select * from dba_objects; select * from nc633gold.t1;

怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录(1)


模拟误删数据

delete from nc633gold.t1 where owner='SYS'; delete from nc633gold.t1 where owner='PUBLIC'; delete from nc633gold.t1;

怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录(2)


查看表历史时刻数据

select * from nc633gold.T1 AS OF TIMESTAMP to_timestamp('2019-09-16 10:25:00','yyyy-mm-dd hh24:mi:ss');

怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录(3)


查看过去某一段时间内对表的操作,以确认需要恢复到的时间点

select SQL_TEXT, LAST_ACTIVE_TIME from v$sqlarea where LAST_ACTIVE_TIME > to_date('2019-09-16 10:25:00','yyyy-mm-dd hh24:mi:ss') and SQL_TEXT like '%nc633gold.t1%' order by 2 desc;

怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录(4)


利用flashback table恢复表到过去某一时刻

alter table nc633gold.t1 enable row movement; flashback table nc633gold.t1 to timestamp to_timestamp('2019-09-16 10:35:00','yyyy-mm-dd hh24:mi:ss'); alter table nc633gold.t1 disable row movement;

怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录(5)


测试

select count(*) from nc633gold.t1;

怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录(6)


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

怎么查看表格最近修改时间?如何看某张表最近一段时间的历史操作记录(7)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页