当前位置: 代码迷 >> Oracle面试 >> oracle 恢复删除的表,该怎么解决
  详细解决方案

oracle 恢复删除的表,该怎么解决

热度:3447   发布时间:2013-02-26 00:00:00.0
oracle 恢复删除的表
不小心将表A删除,用 FLASHBACK table A to before drop;恢复时出现了ORA-38305:的错误!请问怎么处理!!
------解决方案--------------------------------------------------------
亲爱的,ORA-38305的说明如下:
Cause: Trying to Flashback Drop an object which is not in RecycleBin.
Action: Only the objects in RecycleBin can be Flashback Dropped.

意思是你DROP掉的表没在回收站里,原因是你的ORACLE可能没有开启回收站功能。
如果没有开启的话,这个命令就不能使用了。


------解决方案--------------------------------------------------------
用管理员身份登录后,执行:
alter system set recyclebin=on;
就可以开启了。

下面是关闭的命令:
alter system set recyclebin=off;
------解决方案--------------------------------------------------------
还有一种可能就是删除时间过久,恢复区能够保留的数据是有限的,比如你删除了100张表,缓冲区只能保留50张的话,最早删除的部分就不能通过这种方式找回来了。
------解决方案--------------------------------------------------------
引用:
还有一种可能就是删除时间过久,恢复区能够保留的数据是有限的,比如你删除了100张表,缓冲区只能保留50张的话,最早删除的部分就不能通过这种方式找回来了。

对,是这样的,也可以通过修改回收站大小 来控制。
但是楼主好象是没有开启功能,感觉他好象是刚DROP掉,就想恢复的。
------解决方案--------------------------------------------------------
查一下你的actor2所在的tablespace的extent management的类型,使用flashback drop特性的tablespace必须是locally managed
select extent_management from dba_tablespaces where tablespace_name = '你的tablespace名称';

------解决方案--------------------------------------------------------
select TABLESPACE_NAME from user_tables where table_name = 'your table';
  相关解决方案