169 похожих чатов

Можно както оперативно почистить сегменты lob без удаления таблицы в

которой поля blob/clob?

6 ответов

59 просмотров

ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT ALTER TABLE TABLE_NAME SHRINK SPACE CASCADE

Александр-Егоров Автор вопроса
Александр Егоров
Так пробовал... не чистит

Ну конечно, потому что таким образом Вы выполняете MOVE только для таблицы, но не для LOB сегмента. Вам нужен немного другой синтаксис, вроде такого: ALTER TABLE lob_tab MODIFY LOB(data) (SHRINK SPACE CASCADE); Ну и почитайте заметку с объяснением что к чему и почему, напрмер эту: https://oracle-base.com/articles/misc/alter-table-shrink-space-online

Александр-Егоров Автор вопроса
Ро
Ну конечно, потому что таким образом Вы выполняете...

Спасибо... ссыль посмотрю, но этот способ тоже не чистит.

Александр Егоров
Спасибо... ссыль посмотрю, но этот способ тоже не ...

Версия какая? Там до 19 (или даже 21) был баг, что хотя поле создавалось как BASIC, скрытый параметр все прописывал как SecureFile, а с ним Modify lob shrink не работал 😞

Александр Егоров
Спасибо... ссыль посмотрю, но этот способ тоже не ...

Ну как уже упоминалось в соседних сообщениях, разберитесь со способом хранения Ваших LOB сегментов - BASICFILE или SECUREFILE. И второе - тут же технический канал, мы тут "не верим" заявлениям "не чистится". Приведите логи сессии, где видно значение DBA_SEGMENTS.BYTES для таблицы и для LOB сегмента до, потом команды что Вы выполнили, их результат (полезно включить set timing on), и результаты с размерами сегментов из словаря после. А ещё лучше выложите куда-то на dbfiddle.uk простенький тест, где Вы создаете табличку с парой полей и LOB сегментом, наполняете её тестовыми данными из DBMS_RANDOM (скажем миллион строк), потом удаляете половину и пытаетесь сжать таблицу / LOB сегмент с помощью MOVE. Тут все сидят с открытыми коннектами к базам, и тут же могут воспроизвести Ваш пример на своих системах, на разных версиях и архитектурах Oracle DB. Эта рекомендация не только к Вашему вопросу относится, но вообще ко всем, кто просит аудиторию что-то проверить или помочь. Описанный выше подход к задаванию вопросов по-моему оптимальный и позволяет любому у кого есть несколько минут быстро воспроизвести пример и проблему - и предложить вариант решения.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта