当我使用此命令时,它起作用,这意味着我的表被删除了
DROP TABLE <TABLE NAME> ;
但是当我查询
时SQL>SELECT * FROM TAB;
我丢弃的牌桌没有显示。但是像BIN$+NP+VhP7RF2hLc1AoJf+gg==$0
这样的其他一些表格是。
如何删除此类表格?
答案 0 :(得分:5)
您使用的是最新版本的Oracle,而您的表格已放在RECYCLEBIN中。要在第一个实例中完全摆脱它,您可以使用
drop table <table_name> purge;
引用DROP TABLE上的the documentation:
如果要删除表并释放空间,请指定PURGE 只需一步即可与之相关联。如果你指定PURGE,那么 数据库不会将表及其依赖对象放入 回收站。
...
使用此子句相当于首先删除 该表然后从回收站中清除它。这个条款允许 你在这个过程中保存了一步。它还提供增强的安全性 如果你想防止敏感材料出现在 回收站。
RECYCLEBIN可以派上用场......当你不小心丢掉错误的桌子时,这是一个额外的备份。如果在删除表时指定PURGE,则永远无法从RECYCLEBIN中检索表。但请注意,如果您在没有的情况下删除,则不会释放该对象使用的空间。
要从RECYCLEBIN中删除表格,您可以使用:
purge table "BIN$+NP+VhP7RF2hLc1AoJf+gg==$0";
请注意,由于对象名称是加密的,因此您需要双引号。
答案 1 :(得分:0)
这通常发生在 SSMS 中。这背后的原因是,您必须在另一个窗口中打开该放置的表(设计)。
这是我的情况,缓存/bin 仍然保留引用,直到关闭上一个设计窗口。