I have deleted some tables from an Oracle 10g database using the drop
command.
When I list the tables using select * from cat;
I get the following :
Are the tables deleted or not? Why do I have these BIN$...
things? How can I remove them or the tables once and for all?
Thanks!
They are entries in the Recycle Bin, created by the deletion of a table.
They can be purged if required.
http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables011.htm
The tables prefixed with BIN$
are tables placed in the recycle bin for easy recovery. You can completely remove them by purging it. Either specifically per table:
PURGE TABLE BIN$ABCDEFG;
Or for the entire recycle bin at once:
PURGE RECYCLEBIN;
once you drop tables , they go to recyle bin for tempopary time in case you can to get them back ( by flashback for example) with time they diseapear , and if you want to remove at all you can do that.
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.
To delete pernamently use 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$0;
Users can purge the recycle bin of their own objects, and release
space for objects, by using the following statement:
PURGE RECYCLEBIN;