Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление TS и его файлов / 6 сообщений из 6, страница 1 из 1
09.12.2021, 15:45
    #40118639
Зурбаган
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление TS и его файлов
В СУБД Oracle 10 имеется табличное пространство, в котором хранились индексы на таблицу. Со временем все индексы были удалены, но табличное пространство и его 34 физических файла остались. Проверил в dba_segments никаких объектов нет в данном TS.
Хочу командой DROP TABLESPACE test INCLUDING CONTENTS AND DATAFILES удалить его.
Никаких подводных камней нет? Не накроется БД?
...
Рейтинг: 0 / 0
09.12.2021, 16:51
    #40118663
shane54
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление TS и его файлов
Ну я бы уменьшил все 34 датафайла до размера в 1 МБ (или 5 МБ или 10 МБ), или сколько там он даст близкий к минимальному размеру указать (ALTER DATABASE DATAFILE .... RESIZE 1M;). Таким образом, если что-то и осталось ещё в датафайлах, "оно" не даст уменьшить какой-то из файлов. Ещё можно, чтобы "растянуть удовольствие", перевести все датафайлы в OFFLINE, а потом и сам TS. И если ничего не развалидировалось в базе (подождать пару дней) - ну, можно себя дополнительно успокоить что я подстраховался - и тогда уже удалять. Ну и перед удалением можно этот TS отдельно ещё забекапить, чтоб уж ну точно быть готовым ко всему.

А, ну и ещё можно через DBA_EXTENTS перепроверить, что в файлах ничего нет (в этой view есть поле FILE_ID, в отличии от DBA_SEGMENTS, в которой есть поле TABLESPACE_NAME).
...
Рейтинг: 0 / 0
09.12.2021, 17:05
    #40118675
Зурбаган
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление TS и его файлов
А я думал, что если там что то есть то Oracle не даст удалить)))
...
Рейтинг: 0 / 0
09.12.2021, 17:28
    #40118686
shane54
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление TS и его файлов
Ну, стандартная рекомендация на "я думал" - это взять тестовую среду и просто сэмулировать ситуацию и самому все проверить. Обычно это даже быстрее чем на форум вопрос запостить.

А по сути - "INCLUDING CONTENTS" как бы и переводится "включая содержимое", не? :) И второе - синтаксис команды также может содержать "CASCADE CONSTRAINTS". Как раз для того чтобы удалять непустые TS:

https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-tablespaces.html#GUID-4EB483A2-2E04-4047-8885-F5396876D0EB
...
Рейтинг: 0 / 0
13.12.2021, 22:04
    #40119761
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление TS и его файлов
На самом деле отсутствие в TS дата-объектов еще не означает, что оракель позволит его обронить.
Если вдруг наступили на эту волшбу - то ищите юзверей, для которых означенное TS указано как default и, как вариант, таблицы, для которых указано это самое TS но сегмент данных не размещен (в результате truncate drop all storage или segment creation deferred)
...
Рейтинг: 0 / 0
13.12.2021, 22:45
    #40119767
SeaGate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление TS и его файлов
andrey_anonymousЕсли вдруг наступили на эту волшбу - то ищите юзверей, для которых означенное TS указано как default
Не нужно. Default tablespace уровня БД нельзя удалить, default tablespace уровня пользователя может быть удален.
DROP TABLESPACE
авторYou may want to alert any users who have been assigned the tablespace as either a default or temporary tablespace. After the tablespace has been dropped, these users cannot allocate space for objects or sort areas in the tablespace. You can reassign users new default and temporary tablespaces with the ALTER USER statement.
Ограничения при DROP TABLESPACE указаны по той же ссылке.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление TS и его файлов / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]