Удаление всех таблиц 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.