3.Oracle闪回技术之闪回数据03

1.闪回表(Flashback table)

  使用该特性可以将该表恢复到恢复到之前的任意时刻点上,它与flashback query不同的是,flashback query仅仅是得到在某一个时刻点上的快照,并不会改变当前表的物理状态,而flashback table却能够将表以及附属对象一起恢复到以前的某一个时刻,该功能是基于撤销数据(undodata)

  使用闪回表,可将一个或多个表恢复到特定的时间点,而不需要还原备份;从还原表空间检索数据后可执行闪回表操作;执行闪回表操作需要flashback any table权限;必须对要执行闪回操作的表启用行移动.

  1.1 基于时间戳的闪回

  比如;当前不小了delete了myemp表的一些数据,现在想要恢复一些数据(比如说想要恢复某个时间点的数据) 

0.查看undo信息
SQL> show parameter undo;
1. 赋予权限 SQL> grant flashback any table to Scott; 2.允许行移动 SQL>alter table myemp enable row movement; ##允许行移动 3.执行删除语句 SQL>flash table t to timestamp to timestamp('','YYYY-MM-DD hh24:mi:ss')

  1.2基于scn的闪回  

基于scn的闪回
flashback table t to scn号;

2.闪回删除(Flashback drop)

 闪回删除有点类似于windown系统中的回收站功能,如要使用需要打开该功能,比如drop table 了一张表,它不会马上给物理删除,而给这张表放在了oracle的回收站中,oracle的回收站是一种逻辑结构,不具有物理数据结构

1.查看回收站是否打开
    show parameter recyclebin;
2.查看回收站中的内容
    show recyclebin;
3.恢复表
    flashback table 表名 to before drop;
补充:
    清空回收站:purge recyclebin;
    如果我们想要彻底删除某种表:drop table 表名 purge;

 

原文地址:https://www.cnblogs.com/zmc60/p/15655709.html