初始参数
undo_management=auto ; undo_retention控制保留撤销端的所需时间长度,已秒为单位(请注意这个设置的太大会增加回滚表空间的大小,造成磁盘空间的负荷)
1、闪回查询
SQL> SELECT * FROM KF_GY_XUHAO AS OF TIMESTAMP TO_TIMESTAMP('2010-04-16 16:30:00', 'YYYY-MM-DD HH24:MI:SS');
将查询的结果插入原表中,这种方式的话,条件越精确,得到恢复的结果插入也少
例如可以使用:insert into KF_GY_XUHAO SELECT * FROM KF_GY_XUHAO AS OF TIMESTAMP TO_TIMESTAMP('2010-04-16 16:30:00', 'YYYY-MM-DD HH24:MI:SS');进行插入数据
同时也可以使用SCN来恢复,通过
select dbms_flashback.get_system_change_number as scn from dual;
可以得到Scn然后使用闪回查询 select * from KF_GY_XUHAO as of scn 15421 ;
此时的scn号要比查询出来的小,可以通过统计数据的个数来确定SCN
2、闪回表
使用闪回表(flasback table)可以消除不必要的克隆操作
这种技术需要实现是改变表,启用表的行移动功能
alter table KF_GY_XUHAO enble row movement ;
flash tble KF_GY_XUHAO AS OF TIMESTAMP TO_TIMESTAMP('2010-04-16 16:30:00', 'YYYY-MM-DD HH24:MI:SS');
或者 flash table KF_GY_XUHAO as of scn 15421 ;
如果没有启动行移动功能,使用闪回表会报错;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16557381/viewspace-659960/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16557381/viewspace-659960/