昨天(2010-01-04)下班时(17:10左右),开发代码,不小心把表给drop掉了,里面有800W+条数据。(非常重要的一张表)
【oracle9i的环境】
然后上网查询了下有没有恢复的可能性,
查到一堆说是什么闪回的功能,
查询recyclebin A,还有的写的是查询dba_recyclebin B。
但是我查两个表是,全都是说【表或视图不存在】。(SysDBA的模式进入)
1.这是为什么呢?
接下来,不知道怎么处理了。
2.还有说oracle也有个类似windows的回收站,用show recyclebin可以查到
删除的表,但是我运行的时候,提示【SP2-0158: 未知的SHOW选项"recyclebin"】。
这又是为什么啊?
3.有没有谁能告诉下,这个到底能不能恢复啊(不会时间太长了吧)?
4.如果要从其他地方导入这么多数据的,差不多要多长时间啊。。(800万+)

解决方案 »

  1.   

    那oracle9i,如何完成数据的恢复呢?
      

  2.   

    如果你是归档模式且有热备,可以拷贝备份及日志到另外机器,通过RMAN执行不完全恢复。然后导出该表,再导入本地。
    如果其他地方有EXP文件或现成的数据,还是导回来比较快,且易操作。
      

  3.   

    oracle9i只能通过 RMAN 执行【不完全】恢复吗?
    如果导的话,得晚上导,怕执行时间太长,
    影响明天其他人员的开发啊。。
      

  4.   

    测试库啊。需要800W+这么多数据吗?还有,数据量不能只根据记录数,还有记录长度。总之,要看数据占用多少存储空间。
    9i只能不完全恢复,你都说了另外有地方有数据,当然是导回来方便。
    RMAN不完全恢复后,你一样要把该表导回来啊,难不成直接测试库恢复,那今天的其他表测试数据不是都丢失了?
      

  5.   

    2G,800W+?数据如此小,只要主机性能过的去,要不了多少时间。
    如果你这张表单独表空间,可以考虑采用表空间时间点恢复,否则,只能全库恢复。
    单表恢复,ORACLE没有这个概念。
    你所说的闪回及回收站,均为10g的功能。9i没法办到!
      

  6.   


    1,recyclebin是oracle 10G的功能,9i是没有的。2,看下闪存里面有没有,有的话,就从闪存里面回复。3,从最近的备份文件里面恢复最近的数据记录。
      

  7.   

    flashback table tablename before drop;试一下.
      

  8.   

    scn 的记录号
    不过以前没有成功过