Удаление данных из мемо-поля

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Ответить
aybubnov
Сообщения: 17
Зарегистрирован: 05 янв 2014, 08:40

Удаление данных из мемо-поля

Сообщение aybubnov »

Такая задача: нужно выгрузить из БД документы, чтобы уменьшить объем БД.
В випке выгружаю данные из мемо-поля и затем очищаю это мемо-поле:

Код: Выделить всё

ClearMemoField( DocInfo.TextData ); 
Update current DocInfo;
Смотрю по журналу таблицы DocInfo у поля TextData новое значение "Тип: "PDF". Размер: 0".
Все как бы честно, поле очистилось. Выгружено документов и, соответственно, должно быть освобождено в БД примерно 10 ГБ.
БД в Оракле. При этом архивлогов сделалось несравненно меньше 10 ГБ и место в табличном пространстве не освободилось. LOBS продолжает расти ("дырок" в нем не появилось).
Что не так сделано? Как уменьшить БД на эти 10 ГБ?
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Удаление данных из мемо-поля

Сообщение Masygreen »

если там по аналогии с SQL то надо провести сжатие таблиц\освобождение свободного места. По факту данные не удаляются, а только помечаются на удаление.
Время ведет!
aybubnov
Сообщения: 17
Зарегистрирован: 05 янв 2014, 08:40

Re: Удаление данных из мемо-поля

Сообщение aybubnov »

Masygreen писал(а):если там по аналогии с SQL то надо провести сжатие таблиц\освобождение свободного места. По факту данные не удаляются, а только помечаются на удаление.
так в том то и дело, что "архивлогов сделалось несравненно меньше 10 ГБ и место в табличном пространстве не освободилось. LOBS продолжает расти ("дырок" в нем не появилось)."
сжатие ни к чему не привело
LaaLaa

Re: Удаление данных из мемо-поля

Сообщение LaaLaa »

А журнализацию таблицы DocInfo используете? Может быть вся информация осталась в журнальных таблицах? При update записей журнал только растет.
LaaLaa

Re: Удаление данных из мемо-поля

Сообщение LaaLaa »

Галактика в оракле свой журнал хранит не только в таблицах x$journal и j$nnnn, но и в таблице sys#memo. К слову сказать в таблице sys#memo вперемешку храняться все значения всех lvar полей всех таблиц. Как основных так и журнальных.
aybubnov
Сообщения: 17
Зарегистрирован: 05 янв 2014, 08:40

Re: Удаление данных из мемо-поля

Сообщение aybubnov »

LaaLaa писал(а):А журнализацию таблицы DocInfo используете? Может быть вся информация осталась в журнальных таблицах? При update записей журнал только растет.
Да, используем. "по журналу таблицы DocInfo у поля TextData новое значение "Тип: "PDF". Размер: 0""
Получается эти 10 Гб остались на своем месте, а ссылки на них перекочевали из DocInfo в журнал и освободить место можно будет только после очистки журнала? ... логично, спасибо.
LaaLaa

Re: Удаление данных из мемо-поля

Сообщение LaaLaa »

Да после того как корректно почистите журнал. Будет иметь смысл выполнять дефрагментацию и сжатие табличных пространств в Oracle
Ответить