Помогите чайнику. Firebird 1.5.2, база около 10
Гб,
каждую ночь база сливалась gbak-ом и
восстанавливалась
на другой сервер.

Из таблицы 24 млн. записей удалил 9 млн.
Других
существенных изменений в базе не было.
После этого
при запуске gbak создал файл примерно в
половину
ожидаемого размера, после чего процесс
"замер".
Fbserver занимал около 30% времени
процессора
(никаких коннекций кроме gbak не было);
сам gbak занимал 0%-1%,
файл бэкапа и лог не росли.
После 10 часов ожидания процесс был
прерван.
Перезапустил сервер, попробовал еще
раз - та же история.

Попробовал запустить gbak без сборки
мусора,
бэкап создался нормально, но
аналогичное "подвисание"
возникло при восстановлении. Сейчас
остается только
надеяться, что к окончанию выходных
ресторинг все-таки
отработает.

Собственно, вопросы: почему после
больших удалений
gbak работает _так_ медленно? Можно ли
как-то
ускорить цикл backup-restore? Как грамотно
удалить
большой фрагмент БД?

Ответить