ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-38301: can not perform DDL/DML over objects in Recycle Bin

ORA-38301: can not perform DDL/DML over objects in Recycle Bin

原创 Linux操作系统 作者:zerocool8888888 时间:2008-06-19 01:29:49 0 删除 编辑

〖环境(Environment)〗

OS:Solaris

DB:Oracle 10G

              

〖现象(Symptom)    〗

删除回收站中的表RB$$61213$TABLE$0时,发生错误,如下所示

 SQL> drop table RB$$61213$TABLE$0;

 drop table RB$$61213$TABLE$0

 *

 ERROR 位于第 1 行:

 ORA-38301: can not perform. DDL/DML over objects in Recycle Bin

 

〖原理(Cause)    〗

在Oracle 10g中,引入了一个回收站(Recycle Bin)的概念。回收站,从原理上来说就是一个数据字典表,放置用户Drop掉的数据库对象信息。被用户Drop的对象并没有被Oracle删除,仍然会占用空间。除非是用户手工进行Purge或者因为存储空间不够而被Oracle清掉。有了回收站,能够减少很多不必要的麻烦。常常看到开发人员误删除表,我们可以充分利用10g的闪回(FLASHBACK)功能来避免类似的人为操作。不能对已经放到回收站(Recycle Bin)中的对象执行DDL/DML语句。

 

〖方法(Action)         〗

如果真的想彻底删除这个表,可以使用下面的命令清空回收站。

SQL〉PURGE RECYCLEBIN;

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13804621/viewspace-351812/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-04-10

  • 博文量
    73
  • 访问量
    932592