从数据库 Oracle 10g 中删除表

Delete tables from database Oracle 10g

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

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

表格是否被删除?为什么我会有这些 BIN$... 东西?我怎样才能一劳永逸地删除它们或表格?

谢谢!

它们是回收站中的条目,由删除 table 创建。

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

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

一旦您删除了表,它们就会暂时进入回收站,以防您可以在它们消失时找回它们(例如通过闪回),如果您想要完全删除,您可以这样做。

Documentation:

When you drop a table, the database does not immediately remove the space associated with the table. The database renames the table and places it and any associated objects in a recycle bin, where, in case the table was dropped in error, it can be recovered at a later time. This feature is called Flashback Drop, and the FLASHBACK TABLE statement is used to restore the table. Before discussing the use of the FLASHBACK TABLE statement for this purpose, it is important to understand how the recycle bin works, and how you manage its contents.

永久删除使用PURGE

Specify PURGE if you want to drop the table and release the space associated with it in a single step. If you specify PURGE, then the database does not place the table and its dependent objects into the recycle bin.

PURGE TABLE BIN$jsleilx392mk2=293[=10=];

Users can purge the recycle bin of their own objects, and release space for objects, by using the following statement:

PURGE RECYCLEBIN;

table前缀为BIN$的table已放入回收站,方便回收。您可以通过清除它来完全删除它们。具体根据 table:

PURGE TABLE BIN$ABCDEFG;

或一次性处理整个回收站:

PURGE RECYCLEBIN;