ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于数据闪回技术的应用小结

关于数据闪回技术的应用小结

原创 Linux操作系统 作者:阿日 时间:2008-04-07 16:54:32 0 删除 编辑
在论坛中看到一个贴子
我误删了一个表,怎么样可以恢复这个表,没有备份的
我的版本是9I的 请教!刚才我误删了一个表,这个表很重要里面有很多数据,怎么样可以恢复这个表,表没有备份,急。请帮帮忙! 在线等!

我咋一看觉得有可能恢复吗,因为没有备份,看到下面回答的也有很多种方法,有一个是说用数据闪回应该可以,查阅了一下,试着做了一下,结果是如果drop掉表了,应该是不可以的,但delete 了数据是可以的。
做法如下:
SQL> select count(*) from B_MACHINE;  --先查询出当前表中的数据有多少行

  COUNT(*)
----------
        42
SQL> select dbms_flashback.get_system_change_number from dual;  --取出充的SCN点值(system change number)

GET_SYSTEM_CHANGE_NUMBER
------------------------
                26682786

SQL> delete from b_machine;  --开始删除表中的数据

已删除42行。

SQL> commit;   --提交数据

提交完成。

SQL> select count(*) from b_machine;  --这时检查表中数据已经未空

  COUNT(*)
----------
         0

SQL> select count(*) from b_machine as of scn 26682786;  --查询SCN为26682786时的表中数据为42行

  COUNT(*)
----------
        42

SQL> insert into b_machine select * from b_machine as of scn 26682786;  --从SCN点恢复数据到表中

已创建42行。

SQL> commit;

提交完成。

SQL> select count(*) from b_machine;                   --已经成功

  COUNT(*)
----------
        42

对于drop掉的表,会出现没有此表的错误提示。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/67668/viewspace-231070/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-26

  • 博文量
    35
  • 访问量
    141769