flashback table恢复数据
发布时间:2020-12-15 07:03:20 所属栏目:百科 来源:网络整理
导读:flashback table恢复数据 flashback table主要是是用undo 表空间的内容,进行对数据修改的回退操作 语法如下: 根据scn号来进行回退 SQL flashback table kel.t1 to scn 896744; 根据时间来进行回退 SQL flashback table kel.t1 to timestamp to_timestamp('
flashback table恢复数据
flashback table主要是是用undo 表空间的内容,进行对数据修改的回退操作
语法如下:
根据scn号来进行回退
SQL> flashback table kel.t1 to scn 896744;根据时间来进行回退 SQL> flashback table kel.t1 to timestamp to_timestamp('2014-07-28 00:18:00','yyyy-mm-dd hh24:mi:ss'); 1 准备测试数据?1.1 得到第一个修改的scn点SQL> insert into t1 values (1,'kel'); 1 row created. SQL> commit; Commit complete. SQL> select current_scn from v$database; CURRENT_SCN ----------- 896684 1.2 得到第二个修改的scn点SQL> insert into kel.t1 values (2,'kel2'); 1 row created. SQL> commit; Commit complete. SQL> select current_scn from v$database; CURRENT_SCN ----------- 896697 1.3 得到第三个修改的scn点SQL> insert into kel.t1 values (3,'kel3'); 1 row created. SQL> commit; Commit complete. SQL> select current_scn from v$database; CURRENT_SCN ----------- 896744 1.4 得到最后的scn点SQL> delete from kel.t1 where id =2; 1 row deleted. SQL> commit; Commit complete. SQL> select current_scn from v$database; CURRENT_SCN ----------- 896761 2 进行恢复
在进行恢复的时候,必须要允许表进行row move ment
SQL> alter table kel.t1 enable row movement; Table altered. 2.1 第一次恢复SQL> flashback table kel.t1 to scn 896684; Flashback complete. SQL> select * from kel.t1; ID NAME ---------- -------------------- 1 kel 2.2 第二次恢复SQL> flashback table kel.t1 to scn 896697; Flashback complete. SQL> select * from kel.t1; ID NAME ---------- -------------------- 1 kel 2 kel2 2.3 第三次恢复SQL> flashback table kel.t1 to scn 896744; Flashback complete. SQL> select * from kel.t1; ID NAME ---------- -------------------- 1 kel 2 kel2 3 kel3 3 总结
在进行数据恢复的时候,不可能知道准确的SCN点或者时间点,只能进行猜测数据时间或者是scn来进行恢复。
flashback table 的功能依赖于UNDO表空间中的内容,可以反复的进行flashback table,只要UNDO中的内容保存的足够多。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |