Включение процесса After-Image

 

Продолжение перевода Adam Backman «OpenEdge Revealed:Mastering the OpenEdge Database with OpenEdge Management». Перевод публикуется в виде статей и постоянно редактируется.

Включение процесса After-Image

Процесс After-Image можно включить несколькими способами. Два способа включения рассмотрены ниже.

1) В режиме оффлайн базы данных:

2) При запущенной базе данных, в онлайн-режиме

Больше никаких действий выполнять не нужно. Включение AI-журналирования в оффлайн-режиме подразумевает, что это сделано непосредственно сразу после снятия бекапа БД. В некоторых случаях необходимо обмануть этот механизм и существует команда, которая маркирует БД, как БД прошедшую резервное копирование. Эти случаи и саму команду мы рассмотрим ниже.

Включение AI Archiver

Автоматическая архивация AI-журналов (или AI Archiver) — это служба запускаемая при старте БД. AI Archiver помечает AI экстент со статусом BUSY как FULL-экстент и копирует его в заданное местоположение по заданным правилам. Любой экстент со статусом FULL (переключенный бекапом БД, образовавшийся при заполнении экстента фиксированного размера или при включении режима  quiet-point БД) будет обработан AI Archiver.

Для того, чтобы включить AI Archiver необходимо выполнить следующие команды:

1) Для остановленной БД (режим оффлайн)

2) Для запущенной БД

где directory — одна директория или список директорий для копирования заполненных AI-экстентов, #_of_seconds — интервал копирования в секундах (рассмотрим ниже)

Если вы включаете AI-журналирование в режиме онлайн, то у вас есть возможность одновременно включить и AI Archiver. Для этого надо использовать одновременно обе опции — enableai и enablearchiver.

Задание параметров AI Archiver при запуске БД

Также можно задать значения параметрам AI Archiver при запуске базы данных. Опция -aiarchivedir задает директорию для архивирования экстентов AI, а -aiarchiveinterval  — интервал архивирования. Рекомендуется данные параметры поместить в файл параметров (.pf-файл), который необходимо использовать для всех команд запуска и для других утилит БД. Это значительно упростит обслуживание этих параметров (для внесения изменений необходимо отредактировать лишь один файл).

Добавление AI-экстентов

При добавлении AI-экстентов к базе данных занимаемое этими экстентами место на диске описывается в файле описания структуры (.st-файле). Необходимо подготовить файл с описанием добавляемых экстентов и выполнить следующие команды

1) в режиме оффлайн

2) в режиме онлайн

Если не указать файл, то по умолчанию утилита prostrct будет искать st-файл совпадающий по имени с именем базы данных. Рекомендовано отслеживать изменения st-файла структуры БД в вашей системе контроля версий файлов (CVS,RCS,VSS…). После добавления экстентов командой prostrct add или их удалении командой prostrct remove необходимо воспользоваться командой prostcrt list для проверки того, что изменения прошли успешно.

Определение директории для хранения архивированных AI-файлов

Наилучшее место для архивированных файлов AI-заметок — это другая система (например, копирование на сетевые диски). В этом случае при фатальном сбое на сервере БД архив файлов AI доступен на другой системе и без проблем используется для наката на бекап БД.

Незначительное возможное снижение производительности при копировании данных через сеть рассматривать не стоит.

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

В самом худшем случае (которого необходимо избегать) — AI Archiver пишет архивируемые экстенты на раздел, где лежит база данных или на раздел AI-журналов. Риск здесь очевиден — если теряем раздел, то теряем всё. Это цена экономии на дисковых устройствах. Данные компаний стоят много больше дисковых устройств, на которых они размещаются — не надо на них экономить.

Определение времени хранения архивированных экстентов

Как минимум необходимо хранить данные до тех пор, когда они не будут скопированы с продукционной среды на средства надежного хранения данных (или на архивную ленту). Как правило, стоит хранить все данные за неделю работы. Это означает, что сделав бекап состояния продукции в понедельник мы можем больше не хранить такую же резервную копию за прошлый понедельник. Это самый простой подход.

(Обычно у каждой компании своя стратегия резервирования. Например, я делаю каждую ночь бекап и от него уже сохраняю AI каждые 30 минут. Хранится это на неделю назад, далее на понедельник каждой недели в течении квартала и по одному бекапу в месяц — принцип, я думаю, понятен. Не представляю ситуации, когда нужно накатывать AI от понедельника до четверга — это займет слишком много времени — прим. /dmi)

Как максимум, если позволяет объем — храните данные за как можно больший период.

Leave a Reply

You must be logged in to post a comment.