Oracle 恢复被删对象

Oracle 10g提供的flashback drop 新特性为了加快用户错误操作的恢复。而在以前的版本中,除了不完全恢复,通常没有一个好的解决办法。
Oracle 10g的flashback drop功能,允许你从当前数据库中恢复一个被drop了的对象,在执行drop操作时,现在Oracle不是真正删除它,而是将该对象自动将放入回收站。对于一个对象的删除,其实仅仅就是简单的重令名操作。
所谓的回收站,是一个虚拟的容器,用于存放所有被删除的对象。在回收站中,被删除的对象将占用创建时的同样的空间,你甚至还可以对已经删除的表查询,也可以利用flashback功能来恢复它,这个就是flashback drop功能。
回收站内的相关信息可以从recyclebin/user_recyclebin/dba_recyclebin等视图中获取,或者通过SQL*Plus的show recyclebin 命令查看。

SQL> select * from ttest;
VC_NAME
--------------------------------
yangjw

SQL>
SQL> drop table ttest;
Table dropped.
SQL>
SQL> show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TTEST BIN$Zml7A/zd1f7gUKjAZTgb2w==$0 TABLE 2018-03-02:14:56:50
SQL> select * from ttest;
select * from ttest
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> flashback table ttest to before drop;  -----恢复数据

Flashback complete.

SQL> select * from ttest;

VC_NAME VC_NO
---------------- ------------
yangjw 1

SQL>

转自: https://www.cnblogs.com/HondaHsu/archive/2012/09/28/2707487.html

 

posted @ 2018-03-02 15:19  jw-young  阅读(205)  评论(0编辑  收藏  举报