在开发或者维护过程存在需要对Oracle数据的恢复工作,下面提供几种方式:
1. 数据查询(20分钟前)
select * from TABLE_NAME as of timestamp sysdate-20/1440;
2. 更新数据恢复
2.1 清空当前表,恢复20分钟前数据(不推荐)
DELETE TABLE_NAME where 1=1;
COMMIT ;
insert into TABLE_NAME select * from TABLE_NAME as of timestamp sysdate-20/1440;
COMMIT;
2.1 备份当前表,恢复20分钟前数据(推荐)
create table TABLE_NAME_OLD as select * from TABLE_NAME;
create table TABLE_NAME_NEW as select * from TABLE_NAME as of timestamp sysdate-20/1440;
DELETE TABLE_NAME where 1=1;
COMMIT ;
insert into TABLE_NAME select * from TABLE_NAME_NEW;
COMMIT;
3. 表结构恢复
flashback table T_XXXX to before drop;