Автономное архивирование БД

Автономное архивирование выполняется специальными сервисными утилитами СУБД ЛИНТЕР. Утилиты позволяют выполнять не только «горячее» архивирование БД (т.е. архивирование без останова ядра СУБД), но и восстановление БД, тестирование файлов архива, осуществлять операции с архивами на магнитной ленте. При архивировании информация из БД сохраняется в одном или нескольких бинарных файлах (томах).

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

Поскольку архивирование является достаточно ресурсоемкой операцией, предусмотрены ключи установки приоритета процесса архивирования. Приоритет имеет три уровня градации: LOW, NORMAL и HIGH. При самом низком приоритете процесс архивирования делает перерывы в работе, позволяя, таким образом, ядру СУБД обработать запросы клиентских приложений. При самом высоком приоритете таких задержек нет, и процесс архивирования выполняется быстрее.

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

Архивирование БД должно выполняться регулярно, в зависимости от динамики изменения хранящейся в ней информации. Для автоматизации этого процесса в СУБД ЛИНТЕР имеется язык описания сценария архивирования (BSL). Конструкции языка позволяют:

  • задавать действия утилиты архивирования до начала сеанса архивирования (например, создавать нужные каталоги на диске);

  • указывать объекты БД, подлежащие архивированию;

  • устанавливать периодичность и время начала архивирования (например, каждый день (раз в неделю, в конце месяца и т.п.) в 3 часа по московскому времени;

  • задавать действия утилиты архивирования после завершения сеанса архивирования (например, удалять самую старую версию архивного файла, сохраняя только последнюю и предпоследнюю версии).

Сценарий архивирования запускается на выполнение один раз, после чего утилита архивирования автоматически повторяет его в соответствии с заданной периодичностью.