Oracle 10G出现了tabel name类似 BIN$DEh5mRKIRGKvC6E+bQCawQ==$0 的表

环境 ( Environment )   

 

  SYSTEM: Windows XP sp3

  DB Oracle10.2G

              

〖现象 (Symptom)   

 运行了一段脚本之后,突然发现Tables里面多了一些table name 类似 BIN$DEh5mRKIRGKvC6E+bQCawQ==$0 的表,觉得很诧异,对比了脚本之后发现这不是脚本里面创建的表,然后试着删除这些表:

  SQL> drop table BIN$DEh5mRKIRGKvC6E+bQCawQ==$0;

  drop table BIN$DEh5mRKIRGKvC6E+bQCawQ==$0

  结果运行出错:


  ERROR 位于第 1 :

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

 

〖原理( Cause     

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

 

〖方法( Action         

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

SQL PURGE RECYCLEBIN;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值