Нарастающее архивирование БД

Под нарастающим (инкрементным) архивированием БД понимается специальный режим ведения полного архива БД. В отличие от обычного сохранения, которое является разовой работой утилиты архивирования, нарастающее архивирование – синхронный с функционированием БД и продолжающийся во времени процесс, в ходе которого сделанные в БД изменения запоминаются в системном журнале для последующего внесения их в архив. Нарастающее архивирование целесообразно применять в тех случаях, когда регулярное полное сохранение БД является обременительным, а выборочное сохранение затруднено из-за непредсказуемости потока изменений (т.е. трудно или невозможно полностью задать с помощью шаблонов имен перечень изменяемых объектов БД).

Процесс нарастающего архивирования можно разделить на три стадии:

  1. инициирование нарастающего архивирования.

    Задается ключом -startinc. По этому ключу утилита автоматически создает полный архив БД. Этот архив является базовым архивом (контрольной точкой БД, от которой отсчитываются все сделанные в БД изменения). После его создания он получает статус открытого архива, который можно дописывать по мере изменения БД. Открытый архив не должен удаляться или изменяться каким-либо другим способом, кроме как самой утилитой lhb. Кроме того, при инициировании нарастающего архивирования устанавливается режим запрета удаления данных из системного журнала БД. Это делается для того, чтобы исключить возможность потери произведенных в БД изменений.

  2. внесение накопленных изменений в открытый архив.

    Задается ключом -inc. По этому ключу в открытый архив вносятся все изменения, накопленные в системном журнале (соответственно, в БД) после создания базового архива или предыдущего сеанса обновления открытого архива. По завершении этой операции открытый архив будет представлять полный и реальный архив БД. После успешного обновления открытого архива системный журнал очищается.

  3. окончание нарастающего архивирования.

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

Для системы контрольных точек при указании ключа -stopinc стирается контрольная точка, соответствующая заданному архивному файлу (необходимо указывать его имя).

Примечания

  1. При восстановлении БД из нарастающего архива предварительно необходимо внести в открытый архив все накопленные изменения и только потом начать процесс восстановления БД.

  2. Т.к. при нарастающем архивировании устанавливается запрет на удаление из системного журнала, важно правильно определить периодичность обновления открытого архива. При интенсивном изменении БД и редком обновлении открытого архива системный журнал может принять слишком большие размеры (вплоть до исчерпания свободных ресурсов на диске) со всеми вытекающими отсюда последствиями.

  3. К команде сохранения в нарастающем режиме относятся следующие ключи: -u, -f, -ft, -pg, -v, -c, -g, -p, -n, -startinc, -inc, -stopinc.

Примеры
  1. Установить режим нарастающего архивирования:

    lhb s -u SYSTEM/MANAGER8 -startinc -f base.lhb -c "Нарастающий архив"
  2. Внести накопленные изменения:

    lhb s -u SYSTEM/MANAGER8 -inc -f base.lhb 
  3. Закончить режим нарастающего архивирования:

    lhb s -u SYSTEM/MANAGER8 -stopinc -f base.lhb