AI File Management
Механизм AI File Management предназначен для автоматического архивирования экстентов. Он функционирует в виде демона, запускаемого брокером базы данных. Механизм поддерживает два режима работы: «Временной» и «По требованию».
В «Временном» режиме, при активации специального параметра, переключение экстентов осуществляется через заданный временной интервал, независимо от степени их заполнения. Минимальный интервал переключения составляет 120 секунд, а максимальный — 86400 секунд (24 часа).
В режиме «По требованию» переключение экстентов происходит только при достижении состояния FULL (заполненности) экстента. Независимо от выбранного режима, проверка состояния экстента на заполненность выполняется каждые пять секунд.
Для корректной работы механизма AI File Management необходимо наличие достаточного количества экстентов, обеспечивающего постоянное наличие хотя бы одного экстента, доступного для записи.
Временной режим архивации без OE Replication
В режиме временного функционирования механизма AI File Management при деактивированном механизме OE Replication демон выполняет следующие операции:
- Каждые пять секунд происходит активация демона, который осуществляет архивацию всех заполненных AI-экстентов.
- Демон проверяет, истек ли установленный временной интервал. В случае его истечения текущий экстент со статусом BUSY переводится в состояние FULL, а следующий экстент, находящийся в состоянии EMPTY, получает статус BUSY.
- Экстенты, которые были успешно заархивированы, переводятся в состояние EMPTY.
- После выполнения вышеуказанных операций демон переходит в режим ожидания на пять секунд.
В процессе многократного повторения данных действий возможно, что ни один экстент со статусом FULL не будет обнаружен. Однако в большинстве случаев по истечении установленного периода времени находится как минимум один экстент, который может быть заархивирован, и один экстент, которому может быть присвоен статус FULL. В условиях высокой загрузки системы экстенты могут заполняться в процессе выполнения последних двух шагов. В таком случае обработка этих экстентов будет осуществлена при следующем пробуждении демона.
Временной режим архивации с OE Replication
При активации механизмов OE Replication и AI File Management в базе данных, демон выполняет следующие операции:
- Демон периодически активируется каждые пять секунд и архивирует все экстенты с состояниями FULL и LOCKED.
- Проверяет, истек ли заданный интервал времени. В случае истечения интервала, текущий экстент переключается. Экстент со статусом BUSY становится LOCKED, а следующий экстент со статусом EMPTY — BUSY.
- Архивированные экстенты с состоянием FULL помечаются как EMPTY, а экстенты с состоянием LOCKED — как ARCHIVED.
- Демон переходит в состояние ожидания на пять секунд.
Отличия от предыдущего механизма заключаются в том, что при включенной репликации экстент не может быть помечен как EMPTY до полного завершения его копирования. Экстенты, находящиеся в состоянии BUSY, переводятся в состояние LOCKED. Если экстент, помеченный как LOCKED, будет скопирован до архивирования, он перейдет в состояние FULL, и AI File Management выполнит его архивацию. В случае, если экстент, помеченный как LOCKED, будет архивирован до копирования на целевую базу данных (TARGET), он перейдет в состояние ARCHIVED, и ответственность за перевод его в состояние EMPTY будет возложена на механизм OE Replication.
Режим по требованию без OE Replication
В процессе функционирования демона AI File Management в режиме по требованию без использования OE Replication выполняются следующие действия:
- Демон активизируется каждые пять секунд, выполняя архивацию всех AI-экстентов со статусом FULL. После завершения архивации, статус этих экстентов изменяется на EMPTY.
- Текущий экстент, обладающий статусом BUSY, получает статус FULL, а следующий экстент, статус которого EMPTY, соответственно, изменяет его на BUSY.
- По завершении указанных операций, демон переходит в режим ожидания на период в пять секунд.
Режим по требованию с OE Replication
При активации репликации демон AI File Management работает в режиме по требованию и выполняет следующие операции:
- Демон периодически активируется каждые пять секунд для выполнения архивации экстентов.
- Экстенты FULL и LOCKED архивируются.
- Экстенты LOCKED помечаются как ARCHIVED, а экстенты FULL — как EMPTY.
- Текущий BUSY-экстент помечается как LOCKED, а следующий EMPTY-экстент — как BUSY.
- После копирования LOCKED-экстента механизмом OE Replication, он помечается как EMPTY.
- После завершения операций демон переходит в состояние неактивности на пять секунд.
Активация AI File Management
Активация в offline
Проверьте, имеются ли в базе данных AI-экстенты и активирован ли механизм After-imaging. Если нет, то добавьте AI-экстенты и активируйте After-imaging.
Создайте каталог, в который будет выполняться архивация AI-экстентов.
Активируйте AI File Management следующей командой:
rfutil db-name -C aiarchiver enable
Запустите брокер базы данных со следующими параметрами механизма Ai File Management, используя следующий синтаксис:
proserve db-name -S port-num -aiarcdir path-dir1,path-dir2 -aiarcinterval interval
Активация в online
Проверьте, имеются ли в базе данных AI-экстенты, активирован ли механизм After-imaging. Если нет, то добавьте AI-экстенты и активируйте After-imaging (можно выполнить
одновременно с активацией AI File Management через добавление параметра <enableai> к команде probkup).
Создайте каталог, в который будет производиться архивация AI-экстентов.
Выполните online резервное копирование базы с активацией AI File Management (копия базы будет считаться отправной точкой для наката архивов AI-экстентов):
probkup online db-name output-device enableaiarchiver -aiarcdir path-dir1,path-dir2 -aiarcinterval interval -aiarcdircreate
И в этом, и в предыдущем примере определены два каталога для хранения архивов AI-экстентов, это каталоги path-dir1 и path-dir2. Если эти каталоги будут отсутствовать, то при наличии параметра <-aiarcdircreate> они создаются автоматически. В операционной системе Windows при определении более чем одного каталога необходимо указать их названия в
кавычках. Механизм AI File Management переключится на следующий каталог, если в текущем каталоге закончится доступное место (диск заполнен). Использовать два каталога
имеет смысл только тогда, когда они размещены на разных носителях. При старте базы данных должен быть использован параметр <-aistall>.
Параметр <-aiarcinterval interval> используется, чтобы «будить» демона для архивации AI-экстентов по истечению интервала времени, установленного значением interval. Интервал
может быть установлен от 2 минут до 24 часов. Если этот параметр не указан, то демон будет выполнять архивацию тогда, когда AI-экстент будет заполнен.
Если вы не уверены в выборе интервала для параметра <-aiarcinterval>, то можно временно его не указывать, но по истечении некоторого времени необходимо проанализировать лог AI-архивирования (db-name.archival.log), на основании которого и определить интервал.
Мониторинг
После включения автоматического режима архивации необходимо постоянно проводить мониторинг производительности демона и состояния архивных каталогов.
Утилита RFUTIL имеет необходимые классификаторы для изменения параметров AI FileManagement в online.
Для изменения списка каталогов, используемых для архивации AI-экстентов, используется следующая команда:
rfutil db-name -C aiarchiver setdir path-dir1, path-dir2
Команда заменяет установленные ранее каталоги на новые. Если новых каталогов не существует, необходимо добавить параметр <-aiarcdircreate>, чтобы Ai File Management их
создал.
Для изменения интервала архивирования используйте следующую команду:
rfutil db-name -C aiarchiver setinterval new-interval
Команда установит таймер в новое значение new-interval.
Для немедленной архивации следующего по порядку AI-экстента, имеющего статус FULL, используется команда:
rfutil db-name -C aiarchive nextextent
Команда архивирует FULL-экстент в указанный в списке каталог. Если демон работает в режиме по требованию, то в этом случае его таймер будет сброшен. Если активность базы
будет приостановлена из-за заполнения всех экстентов, то эта команда освободит экстент. При восстановлении активности установите таймер демона в меньшее значение или на ноль, чтобы предотвратить повторную остановку активности.
Именование архивов
При автоматическом архивировании AI-экстентов демоном AI File Management создаются архивные файлы с уникальными именами. Структура имени архивного файла включает следующие компоненты:
- Полный путь к исходной базе данных, где разделителем каталогов выступает символ “~”.
- В операционной системе Windows символ двоеточия (:) после обозначения диска заменяется на восклицательный знак (!).
- Дата и время включения After-imaging.
- Порядковый номер AI-экстента.
- Имя AI-экстента.
Эти компоненты объединяются в одно имя файла.
directory~spec~database.backup-sequence.ai-sequence.extent-name
Например, если имя архивного файла«dsk3~users~valeriy~lecAI~db1~sports.20090710.161154.00000041.sports.a5», то можно получить следующую информацию:
- Имя исходной базы данных – /dsk3/ users/valeriy/lecAI/db1/sports
- Дата включения After-Imaging – 10/07/2009
- Время включения After-Imaging – 16:11:54
- Порядковый номер экстента – 41
- Имя экстента – sports.a5
Формат журнала архивирования
Механизм AI File Management ведет журнал архивируемых AI-экстентов. Этот журнал находится в том же каталоге, что и файл базы данных (.db) и называется databasename.
archival.log. Он создается в момент архивирования первого экстента. Информация, в нем хранимая, содержит такие данные, как время формирования резервных копий базы и AI-
экстентов. Эти данные помогут в разработке и автоматического, и ручного способа восстановления базы данных. Журнал может быть прочитан, но его нельзя изменять самостоятельно.
Каждый раз, когда демон AI File Management отрабатывает, в журнал записывается две строки, содержащие дату, время и прочую информацию в следующем формате:
# After-image Extent Manager started on : Monday July 13, 2009 at 11:44:31 # 0255,20090713,114431,100200
Вторая строка содержит версию и информацию о запуске и имеет следующий вид:
# 0255, date, time, release
Поле | Значение |
---|---|
Индикатор версии (0255) | Индикатор линии версии |
Date | дата старта утилиты в формате YYYYMMDD |
Time | Время старта утилиты в формате HHMMSS |
После заголовка каждая строка содержит информацию об архивах.
Линия архивов
В журнале механизма AI File Management строка с информацией о заархивированном AI-экстенте имеет следующий формат:
Extent archive indicator, database, date, time, aibegin-date, aibegin-time, aiseq, buseq, extentname,target-directory, target-extent-name
Поле | Значение |
---|---|
Extent archive indicator | Может принимать следующие значения:
0001 – Экстент архивирован автоматически 0003 – Экстент архивирован вручную 0004 – Экстент архивирован вручную в NULL устройство |
database | Имя базы данных |
date | Дата резервной копии в формате YYYYMMDD |
Time | Время резервной копии в формате HHMMSS |
Buseq | Порядковый номер копии |
aibegin-date | Дата старта after imaging для базы данных в формате YYYYMMDD |
aibegin-time | Время старта after imaging для базы данных в формате HHMMSS |
aiseq | Порядковый номер AI с указанием ведущих нулей |
extent-name | Исходное имя архивируемого экстента |
target-directory | Каталог, в который архивирован экстент |
target-extent-name | Имя архивируемого экстента |
Линия резервного копирования базы данных
Backup indicator,database,date,time,online indicator, buseq,backup-date,backup-time,incr-seq,aigennbr,target-count, backup-targets,backupset-name
Поле | Значение |
---|---|
Backup indicator | Тип резервной копии:
0032 – полная копия 0033 – инкрементальная копия |
Database | Имя базы данных |
Time | Время записи в журнал в формате HHMMSS |
online indicator | Индикатор типа копии: 0 – offline 1 – online |
buseq | Порядковый номер копии |
backup-date | Дата формирования копии в формате YYYYMMDD |
backup-time | Время формирования копии в формате HHMMSS |
incr-seq | Если это инкрементальная копия, то указывается ее порядковый номер, иначе – значение остается пустым |
target-count | Количество файлов в копии |
backup-targets | Список имен файлов копии, разделенных запятой |
backupset-name | Имя копии. Имеет следующий формат: BACKUP_SET_YYYYMMDD_HHMMSS, где дата и время берутся из значений backup-date и backup-time. |