Oracle свободного места после удаления данных из таблиц - PullRequest
2 голосов
/ 27 сентября 2011

Я недавно удалил большой кусок данных из некоторых таблиц в базе данных. Теперь я хочу освободить место, которое занимают эти данные. После этого я хотел бы перестроить индексы. Каков наилучший способ освободить место?

1 Ответ

7 голосов
/ 27 сентября 2011

Что вы подразумеваете под «освободить пространство»?Когда вы удалили данные, пространство было освобождено в блоках.Это пространство теперь доступно для последующих вставок (или обновлений) в таблицу, из которой вы удалили данные.Обычно этого достаточно, потому что в будущем таблица, как правило, снова будет расти.

Вы можете уменьшить таблицу, если хотите уменьшить размер сегмента таблицы и сделать пространство доступным для других сегментов в том же табличном пространстве

ALTER TABLE table_name ENABLE ROW MOVEMENT;

ALTER TABLE table_name SHRINK SPACE CASCADE;

Обычно нет необходимости перестраивать индексы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...