|
Удаление TS и его файлов
|
|||
---|---|---|---|
#18+
В СУБД Oracle 10 имеется табличное пространство, в котором хранились индексы на таблицу. Со временем все индексы были удалены, но табличное пространство и его 34 физических файла остались. Проверил в dba_segments никаких объектов нет в данном TS. Хочу командой DROP TABLESPACE test INCLUDING CONTENTS AND DATAFILES удалить его. Никаких подводных камней нет? Не накроется БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 15:45 |
|
Удаление TS и его файлов
|
|||
---|---|---|---|
#18+
Ну я бы уменьшил все 34 датафайла до размера в 1 МБ (или 5 МБ или 10 МБ), или сколько там он даст близкий к минимальному размеру указать (ALTER DATABASE DATAFILE .... RESIZE 1M;). Таким образом, если что-то и осталось ещё в датафайлах, "оно" не даст уменьшить какой-то из файлов. Ещё можно, чтобы "растянуть удовольствие", перевести все датафайлы в OFFLINE, а потом и сам TS. И если ничего не развалидировалось в базе (подождать пару дней) - ну, можно себя дополнительно успокоить что я подстраховался - и тогда уже удалять. Ну и перед удалением можно этот TS отдельно ещё забекапить, чтоб уж ну точно быть готовым ко всему. А, ну и ещё можно через DBA_EXTENTS перепроверить, что в файлах ничего нет (в этой view есть поле FILE_ID, в отличии от DBA_SEGMENTS, в которой есть поле TABLESPACE_NAME). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 16:51 |
|
Удаление TS и его файлов
|
|||
---|---|---|---|
#18+
А я думал, что если там что то есть то Oracle не даст удалить))) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:05 |
|
Удаление TS и его файлов
|
|||
---|---|---|---|
#18+
Ну, стандартная рекомендация на "я думал" - это взять тестовую среду и просто сэмулировать ситуацию и самому все проверить. Обычно это даже быстрее чем на форум вопрос запостить. А по сути - "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 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:28 |
|
Удаление TS и его файлов
|
|||
---|---|---|---|
#18+
На самом деле отсутствие в TS дата-объектов еще не означает, что оракель позволит его обронить. Если вдруг наступили на эту волшбу - то ищите юзверей, для которых означенное TS указано как default и, как вариант, таблицы, для которых указано это самое TS но сегмент данных не размещен (в результате truncate drop all storage или segment creation deferred) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 22:04 |
|
Удаление TS и его файлов
|
|||
---|---|---|---|
#18+
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 указаны по той же ссылке. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 22:45 |
|
|
start [/forum/topic.php?fid=52&tid=1879688]: |
0ms |
get settings: |
25ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
178ms |
get tp. blocked users: |
2ms |
others: | 362ms |
total: | 652ms |
0 / 0 |