1.一些说明:
为了防止一些表出现错误,且为了保证能一定能闪回指定时间的数据,所以需要将闪回归档信息存到表空间中
select flashback_on from v$database
可以看到没有开启,开不开启都没有关系
建立表空间
create tablespace HIS_TBSPACE datefile '/data/pdm/history_data' size 2G;
查询是否有权限:
select * from dba_sys_privs where privilege like '%FLASH%';
指定闪回归档信息到表空间
create flashback archive flash1 TABLESPACE HIS_TBSPACE retention 7 day
create flashback archive flash2 TABLESPACE HIS_TBSPACE retention 7 day
指定表到闪回归档:
creaTE TABLE a(id int) flashback archive flash1
查询表空间的表信息
Select Table_Name, Tablespace_Name
From Dba_Tables
Where Tablespace_Name = 'HIS_TBSPACE';
tcrv存的是事务信息。ddl存的是ddl操作的信息,7553是dba_objects的object_id信息
查询事务表信息
select rid,case when startscn is not null then scn_to_timestamp(startscn) end,startscn
,case when endscn is not null then scn_to_timestamp(endscn) end,endscn
from SYS_FBA_TCRV_75553 order by startscn ;
select * from a as of scn 1806402
删除drop
因为指定了闪回归档无法删除(无法ddl操作)
去除闪回归档:
alter table a no flashback archive
表空间中已没有了记录