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

自己建个用户里面几个根本就没建的表,还没法删除。
自己建个用户里面几个根本就没建的表,名字很特殊:
BIN$PA9v2LuFQ2ibaeEyNVu5kg==$0
BIN$j5PpJTPzQ2KVMIZ3bj3dIQ==$0
BIN$n0ZYKXtRRFes2kQ3Gpz+2Q==$0
BIN$uad8DA4ZTyGfzZI07uPC+A==$0
还删除不了,请教一下,有人碰见过吗?


------解决方案--------------------
你这是从user_tables里选出来的?
------解决方案--------------------
如果用的是PL-SQL Developer,去回收站里purge table

如果是其它工具 执行

SQL code
select 'purge table "'||original_name||'";' sql 
from  user_recyclebin  where type = 'TABLE'

------解决方案--------------------
在PL-SQL Developer中执行drop table tabname时,只是将tabname放到了回收站,改了个新的系统名字。

如果要彻底删除该表,我所删除的表名为"KBM_DIR",先要将现在使用的表"KBM_DIR"重新命名为"KBM_DIR###",操作过程如下:

1.重新命名使用的表:
SQL> RENAME KBM_DIR to KBM_DIR###;

2.显示所删除表在回收站中的新名称
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
KBM_DIR BIN$BvsFdYFGRTm3N8Tml6JmFA==$0 TABLE 2012-02-25:14:46:51

3.用 FLASHBACK TABLE 命令恢复该表
SQL> flashback table KBM_DIR to before drop;
SQL> commit;

4.再彻底删除该表
SQL> drop table KBM_DIR purge;
SQL> commit;

5.再恢复表名:
SQL> RENAME KBM_DIR### to KBM_DIR;