一、flashback query
先查询一下当前的SCN,这样好回退。
select dbms_flashback.get_system_change_number from dual;
select current_scn from v$database;
适应范围:表中的数据持续变化,需要看到某个时间点错误删除修改了某些记录,可以根据这些记录再进行数据恢复。
1恢复被删除了的储存过程:
select *
from dba_source AS OF TIMESTAMP TO_TIMESTAMP('2015-08-24 12:00:00', 'YYYY-MM-DD HH24:MI:SS')
where name = 'xxxxx'
and owner = 'xxxx'
order by line;
2恢复表数据:
例如:删除了某些条件的数据,可以这样恢复。
把删除的数据恢复到中间表里,然后insert进原表。也可以不带where条件,让开发人员自行选择有效数据insert进原表。
create table flashback_qry as
select *
from lar_surp_ulife_detail as of timestamp to_Date('2017-08-17 09:40:00', 'yyyy-mm-dd hh24:mi:ss')
where proc_date = date '2017-7-31';
insert into lar_surp_ulife_detail select * from flashback_qry ;
commit;