3、删除所有的记录提交。
Sql代码
SQL> delete from t1
2 ;
已删除8302行。
SQL> commit;
提交完成。
4、获得当前SCN
如果能够确切知道删除之前SCN最好,如果不知道,可以进行闪回查询尝试。
Sql代码
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1482649
SQL> select count(*) from t1 as of scn 1482600;
COUNT(*)
----------
8302
SCN=1482600时,t1表中的所有记录都还在。
5、利用闪回恢复数据。
查看验证一下:
Sql代码
SQL> insert into t1 select * from t1 as of scn 1482600;
已创建8302行。
SQL> commit;
提交完成。
结果OK
或者还可以如下操作
Sql代码
SQL>flashback table t1 to scn 1482600;
SQL> commit;
Commit complete.
--对于drop table t1 的操作flashback
SQL> drop table t1;
SQL>COMMIT;
SQL> flashback table t1to before drop;
SQL>commit;
对于怎么取的SCN可以使用timestamp_to_scn() 函数,如:
Sql代码
select timestamp_to_scn(to_timestamp('2010-10-19 21:00:00','YYYY-MM-DD HH:MI:SS')) from dual;
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|