龙空技术网

详解Oracle数据库如何利用闪回查看Oracle表历史操作记录

波波说运维 960

前言:

此时姐妹们对“oracle查看历史sql执行记录”可能比较关注,朋友们都想要剖析一些“oracle查看历史sql执行记录”的相关资讯。那么小编也在网上网罗了一些关于“oracle查看历史sql执行记录””的相关文章,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!

概述

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

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

create table nc633gold.t1 as select * from dba_objects;select * from nc633gold.t1;
模拟误删数据
delete from nc633gold.t1 where owner='SYS';delete from nc633gold.t1 where owner='PUBLIC';delete from nc633gold.t1;
查看表历史时刻数据
select * from nc633gold.T1 AS OF TIMESTAMP to_timestamp('2019-09-16 10:25:00','yyyy-mm-dd hh24:mi:ss');
查看过去某一段时间内对表的操作,以确认需要恢复到的时间点
select SQL_TEXT, LAST_ACTIVE_TIMEfrom v$sqlareawhere 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;
利用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;
测试
select count(*) from nc633gold.t1;

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

标签: #oracle查看历史sql执行记录 #oracle如何使用查询到的数据库 #oracle如何使用查询到的数据库表 #oracle查看闪回数据 #oracle审计表成功失败如何区分