日期:2014-05-17  浏览次数:21123 次

回收站里查询不到刚删掉的表
大家好,我新建了一个表并插入一些行,但drop掉后,使用sql语句select original_name,dropscn from recyclebin;查询不到相关内容,请问是什么原因呢?

------解决方案--------------------
回收站功能被关闭了吧?
------解决方案--------------------
你查一下参数:
 
select   ISSYS_MODIFIABLE  from v$parameter where name = 'recyclebin'
 
Oracle10g 的immediate 、Oracle 11g的deferred
 
表示回收站开启,否则应该是为开启状态。
 
表是在system表空间下面则不能使用回收站的功能
------解决方案--------------------
说错了。否则就是关闭状态
------解决方案--------------------
从Oracle10g开始提供了flashback drop的功能。
而在以前的版本中,除了不完全恢复,通常没有一个好的解决办法的。
Oracle 10g的flashback drop功能,允许你从当前数据库中恢复一个被drop了的对象,在执行drop操作时,现在Oracle不是真正删除它,而是将该对象自动将放入回收站。对于一个对象的删除,其实仅仅就是简单的重命名操作。
所以如果你用的是10G,并且没有关闭flashback drop功能,就可以找回删除的表。
如果你用的不是10G,或者关闭了flashback drop功能,
只能看看你之前有没有做备份,如果有可以恢复一下
回收站内的相关信息可以从recyclebin/user_recyclebin/dba_recyclebin等视图中获取,或者通过SQL*Plus的show recyclebin 命令查看。

估计是回收站已经被清空了
------解决方案--------------------
引用:
以下是操作代码
SQL> create table ta(a number,b number);

Table created

SQL> insert into ta values(1,1);

1 row inserted

SQL> drop table ta;

Table dropped

SQL> select original_na……


可能是你的当前表的表空间不足,然后Oracle就会自动清理回收站,吧drop掉的表清理掉
------解决方案--------------------
select tablespace_name from user_tables;

如果是system,没有回收站功能,直接删除。
------解决方案--------------------
引用:
select tablespace_name from user_tables;

如果是system,没有回收站功能,直接删除。
正解