从数据库Oracle 10g中删除表

时间:2015-09-22 18:33:59

标签: sql oracle oracle10g ddl database-administration

我使用drop命令从Oracle 10g数据库中删除了一些表。

当我使用select * from cat;列出表格时,我得到以下内容:

Tables list

是否删除了表格?为什么我有这些BIN$...的东西?如何一劳永逸地删除它们或表格?

谢谢!

4 个答案:

答案 0 :(得分:4)

它们是回收站中的条目,通过删除表来创建。

如果需要,可以清除它们。

http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables011.htm

答案 1 :(得分:2)

前缀为BIN$的表格是放在回收站中的表格,便于恢复。您可以通过清除它来完全删除它们。每个表都是专门的:

PURGE TABLE BIN$ABCDEFG;

或者立即对整个回收站:

PURGE RECYCLEBIN;

答案 2 :(得分:1)

一旦你丢弃了桌子,他们就会在recyle bin中找到一段时间,以防你可以让他们回来(例如闪回),但是如果你想要删除它们,你可以这样做。

答案 3 :(得分:1)

Documentation

  

当您删除表时,数据库不会立即删除   与表格相关的空间。数据库重命名表和   将它和任何相关对象放在回收站中,以防万一   该表被错误地删除,可以在以后恢复。   此功能称为Flashback Drop和FLASHBACK TABLE   statement用于恢复表。在讨论使用之前   为此目的,FLASHBACK TABLE语句很重要   了解回收站的工作原理以及如何管理其内容。

要删除pernamently,请使用PURGE

  

如果要删除表格并释放空间,请指定 PURGE   只需一步即可与之相关联。如果你指定PURGE,那么   数据库不会将表及其依赖对象放入   回收站。

PURGE TABLE BIN$jsleilx392mk2=293$0;
  

用户可以清除自己对象的回收站,然后释放   对象的空间,使用以下语句:

PURGE RECYCLEBIN;