不影响数据库运行如何快速恢复刚删除的表及其数据(三)
如何恢复刚更新的数百万条数据
假如执行一条update语句,忘记加where条件,导致全表更新,如何恢复执行前。
查看EMP表10分钟前的数据:
select * from emp as of timestamp to_timestamp('2016-04-26 10:00:00','yyyy-mm-dd hh24:mi:ss');
如update语句是在10分钟内执行的,此时表中的记录是未更新前的。
1、更改EMP表的行号
alter table emp enable row movement;
2、闪回恢复10分钟之前的数据
flashback table emp to timestamp to_timestamp('2016-04-26 10:00:00','yyyy-mm-dd hh24:mi:ss');
默认只能保存900(15分钟)之内的表数据。
1、sqlplus "/as sysdba"
2、show parameter undo_retention