oracle truncate闪回数据库恢复
1、创建试验表
conn scott/tiger
create table truncate_test as select * from user_objects;
select count(*) from truncate_test;
2、记录truncate table 的时间,但在生产中是不知道准确的时间的只能尝试找时间点了
SQL> select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.FF9') from dual;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM
-----------------------------
2009-11-06 17:15:18.406000000
3、截断表
truncate table truncate_test;
select * from truncate_test;
shutdown immediate
startup mount
flashback database to timestamp
to_timestamp('2009-11-06 17:15:18','yyyy-mm-dd hh24:mi:ss');
闪回完成。
alter database open read only;
select * from scott.truncate_test;
发现数据已经找回来了,这样就可以吧数据库online了
4、看看在此时表是否恢复回来了,如果没有恢复回来,重新选择时间点
startup mount
alter database open resetlogs
select * from scott.truncate_test;
这属于不完全恢复
出处:http://blog.163.com/card_2005/blog/static/11781036820091065501988/
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/4171718.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
posted on 2014-12-18 14:48 jack_Meng 阅读(4732) 评论(0) 编辑 收藏 举报