gonkon Цитата: В базе Fireberd 2.5 файл очень вырос.
Насколько я знаю, уменьшаться он не умеет, так что тут только бэкап-рестор. Хотя если размер файла сам по себе не мешает, можно очистить страницы внутри него, чтобы они могли заполняться новыми данными.
Примерный сценарий такой:
удалить лишние данные;
отключить лишних клиентов (shutdown) -- если возможно, лучше сделать это пораньше (первым шагом);
переподключиться к базе (чтобы старая транзакция, в которой проводилось удаление, не имела шансов числиться активной);
пересоздать индексы (какие особенно пухлые, видно в статистике);
переподключиться;
запустить sweep (я бы его запускал и перед чисткой индексов, но в FB2.5 должно нормально работать и без этого);
подключить лишних клиентов (online).
Кстати, всё это, кроме удаления собственно данных (а также многое другое) произойдёт и при бэкапе-ресторе.
ПС: пример костыля из жизни: для профилактики на частоизменяемой базе (с кучей временных данных) ежедневно выполняется обход всех таблиц (
select count(*) from *). Это приводит к очистке практически всех неактуальных страниц, т.к. проводится во время наименьшей активности. Не помню, почему, но этот способ на IB7.5 показал себя более эффективным, чем просто запуск sweep.
ППС: Роста размера файла БД из-за роста TIP не встречал.