Удаление всех таблиц sqlplus

Всякий раз, когда я выступаю select * from tab; Я получаю таблицы, которые я не создал. Это выглядит как:

TNAME       TABTYPE  CLUSTERID
------------------------------ ------- ----------
BIN$GGrKjbVGTVaus4568IEhUQ==$0 TABLE
BIN$H+a0o3uyTTKTOA8WMkNltg==$0 TABLE
BIN$IUNyfOwkS0WSEVjbn04mNw==$0 TABLE
BIN$K/3NJw5zRXyRqPixL3tqDA==$0 TABLE
BIN$KQw9SejEToywXlHp18FMZA==$0 TABLE
BIN$MOEfgWgsS0GkC/CpYW+cxA==$0 TABLE
BIN$QkUYVciPQpWBwqBhxH+Few==$0 TABLE
BIN$QmtbaOYiTHCGEE0PRiLzmg==$0 TABLE
BIN$QxF4/JShTxu8PYIx8g/L7Q==$0 TABLE
BIN$UtEI7RbiQvOYzKqJEibwKQ==$0 TABLE
BIN$VMG0FXp2ROCKbedj3Ge9hg==$0 TABLE

Я пытался выполнять

select 'drop table '||table_name||' cascade constraints;' from user_tables; 

на катушке и выполняется, но эти таблицы не были выбраны. Это выглядит очень грязно и беспокоит меня. Кто они такие? Есть ли способ, которым я могу избавиться от них? Или я должен просто иметь дело с этим и работать с этим?

2 ответа

Решение

Публикация в качестве комментария для лучшей видимости. Кредиты @Tomás за указание в правильном направлении.

Я должен был сделать purge recyclebin; вместо purge dba_recyclebin так как у меня недостаточно прав (я студент, вошедший в систему через ssh).

Если вы хотите выключить корзину, используйте ALTER SESSION SET recyclebin = OFF;

Q что они?

A Похоже на таблицы, которые были удалены и сохранены в RECYCLEBIN.


Q Можно ли как-нибудь избавиться от них?

Вы можете использовать, например, PURGE TABLE BIN$GGrKjbVGTVaus4568IEhUQ==$0 ; удалить их.

Это будет делать их индивидуально. Обратите внимание, что индексы и большие объекты (и другое внешнее хранилище) также могут иметь записи в корзине. Есть и другие операторы, которые вы можете использовать для очистки всех записей из корзины.


Q Или я должен просто иметь дело с этим и работать с этим?

Это зависит от вас.

Существуют операторы для очистки корзины для текущего пользователя или, если у вас есть привилегии, для всей базы данных. Вы также можете отключить корзину, или (я думаю) есть опция на DROP TABLE это приведет к удалению таблицы, не оставляя ее в корзине (поэтому она не будет создана в будущем).

Мне не нужно повторять содержание документации Oracle.

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

Другие вопросы по тегам