表的闪回及表归档闪回

 --闪回表

select current_scn from v$database;
2476463
 
update hr.regions set region_name='sc'; --ENV:更改数据操作
commit;
 
alter table hr.regions enable row movement;
--在flashback中使用,当需要使用flashback table功能时,需要首先打开row mvoement的选项,否则使用该功能会报错
 
flashback table hr.regions to scn 2476463;
 
select * from hr.regions;
 
FLASHBACK TABLE employees TO BEFORE DROP; --闪回表语句
 
LIFO --后进先出的机制,最后删除的最先还原(栈)
 
flashback table regionscp to before drop rename to oldregionscp; --如果接着闪回则要重命名
 
flashback table "BIN$lT6QVYSWd+DgU/r+Gawd/A==$0" to before drop;  --如果想闪回更以前的则去回收直接找回 
  
purge table regionscp;  (FIFO) --清理回收站中最早删除的,先进先出(队列)
------------------------------------------------------------------------------------------------------------------------------
--归档数据闪回方法
Using Flashback Data Archives 
 
Temporal History(11g的叫法)
Temporal Validity and History (12c的叫法)
 
1、create tablespace fdatbs datafile '/u01/app/oracle/oradata/orcl/fdatbs01.dbf' size 10m;
--建立归档数据表空间,用于存放闪回归档(Option)
 
2、CREATE FLASHBACK ARCHIVE fda1 TABLESPACE fdatbs 【OPTIMIZE DATA】 QUOTA 10M RETENTION 1 YEAR; 
--建立闪回归档,使用之前创建的表空间,设置配额及最长闪回时间
 
3、ALTER TABLE HR.REGIONS FLASHBACK ARCHIVE fda1;  --把闪回归档放到创建的闪回归档内。

猜你喜欢

转载自www.cnblogs.com/xconline/p/11815304.html