Oracle闪回操作
1、Oracle闪回操作主要包含以下操作:一、回收站通常在使用drop table 表名;删除表后,并没有直接被删除,而是放在了回收站中。从下图中可以看出在删除表后再查询用户下所拥有的表可以发现多了一个bin开头的表。它就是回收站中的表。

3、二、从回收站还原删除的表查看回收站数据:语法:show recycle; 从下图中可以看到 原表名是emp01 回收站内表名是 BIN$baJtKmM/cTngU蚱澄堆别BGsmGa3fg==$0,以及这张表的删除时间。

5、恢复删除表:语法:flashback table emp01 to before drop;从下图中可以看到,表已经恢复,而且表内的数据也都会恢复。

7、但如果两张表都需要恢复,那么需要在恢复的时候给表重命名不然会报错误。

9、删除回收站内容语法:purge table 表名; 如果有两个相同的表名,在删除的时候可以直接使用回收站名。

11、另外在删除表的时候也可以直接删除表,而不进入回收站。drop table tablename purge;


13、查询出更改记袄嬖艽蛞录versions_starttime 开始时间versions_endtime 结束时间,如果有值的话证明这条数据的值就不是现在的值了。versions_xid 这个代表事务编号versions_operation 这个代表操作类型(增删改等操作)versions_startscn 开始scn号versions_endscn 结束scn号,如果有值的话就证明这条数据就不是现在的值了。select versions_starttime,versions_endtime,versions_xid,versions_operation,ename,sal from emp01versions between scn minvalue and maxvalue where empno=7369;这里的字段都属于伪列。从图中可以看到 数据更改了两次。

15、四、执行闪回查询在执行闪回查询时是根据scn来进行查询的语法select * from emp01 as of scn 2864058;



