回收站里查询不到刚删掉的表
大家好,我新建了一个表并插入一些行,但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 命令查看。
估计是回收站已经被清空了
------解决方案--------------------
可能是你的当前表的表空间不足,然后Oracle就会自动清理回收站,吧drop掉的表清理掉
------解决方案--------------------select tablespace_name from user_tables;
如果是system,没有回收站功能,直接删除。
------解决方案--------------------正解