ORACLE 移去了表能恢复吗?

解决方案 »

  1.   

    Oracle Flashback Drop特性提供一个类似回收站的功能,用来恢复不小心被删除的表。当删除表时,Oracle 10g并不立刻释放被删除的表所占用的空间,而是将这个被删除的表进行自动重命名(为了避免同类对象名称的重复)并放进回收站中。所谓的回收站类似于Windows系统中的回收站,是一个虚拟的容器,用于存放所有被删除的对象,在回收站中被删除的对象将占用创建时的同样的空间。如果这个被删除的表需要进行恢复,就可利用Flashback Drop功能。  例:进行一个删除表后恢复的简单测试。  (1)显示回收站信息SQL>show recyclebin;   可以看到,回收站中是没有任何结果的,表示没有任何表在回收站中。  (2)创建一个表,并删除,再次显示回收站信息SQL>create table test_drop(name varchar2(10));
    SQL>drop table test_drop;
    SQL>show recyclebin;
    ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
    TEST_DROP BIN$b+XkkO1RS5K10uKo9BfmuA==$0 TABLE 2005-05-07:14:30:47   (3)对被删除的表进行恢复SQL>flashback table test_drop to before drop;或
    SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop;   (4)管理回收站  清除回收站中的单个表:purge table test_drop  清除整个回收站:purge recyclebin  清除不同的对象回收站:purge user_recyclebin或purge dba_recyclebin  (5)确认删除一个表SQL>drop table test_drop purge;   如果删除一个表且不放到回收站中不能进行恢复,在drop语句中可以利用purge选项。
      

  2.   

    当删除表时,Oracle 10g并不立刻释放被删除的表所占用的空间。
    只有10g才有?如果不用purge recyclebin是不是就一直会在recyclebin?能保存多久?recyclebin满了自动删除吗?