Механизм After-Imaging в OpenEdge
AI File Management
Механизм AI File Management создан для выполнения автоматического архивирования экстентов. Он реализован в виде демона, запущенного брокером базы данных. Механизм может работать во «Временном» режиме или в режиме «По требованию». Во временном режиме при использовании специального параметра переключение экстентов выполняется через интервал времени, даже если экстент еще не заполнен. Минимальный интервал – 120 секунд, максимальный – 86400 секунд (24 часа). В режиме по требованию переключение выполняется только тогда, когда экстент заполнен (FULL). В любом случае проверка экстента на заполнение происходит каждые пять секунд. При использовании этого механизма необходимо иметь достаточное количество экстентов, чтобы всегда имелся хотя бы один файл, доступный для записи.
Временной режим архивации без OE Replication
Когда механизм AI File Management работает во временном режиме, а механизм OE Replication не активирован, то демон выполняет следующее:
- «просыпается» каждые пять секунд, и архивирует все заполненные AI-экстенты;
- проверяет, истек ли интервал времени. Если интервал истек, то текущий экстент со статусом BUSY помечается как FULL, а следующий EMPTY экстент помечается как BUSY;
- заархивированные экстенты помечаются как EMPTY;
- «засыпает» на 5 секунд.
Возможно, что во время многих повторений этих действий не будет найден ни один экстент со статусом FULL. Но обычно по истечении периода обязательно находится как минимум один 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.
Рисунок 4 Схема смены статусов AI экстентов
Режим по требованию без OE Replication
- «просыпается» каждые пять секунд и архивирует все AI-экстенты со статусом FULL, после чего помечает их как EMPTY;
- текущий экстент со статусом BUSY помечается как FULL, а следующий экстент со статусом EMPTY помечается как BUSY;
- «засыпает» на пять секунд.
Режим по требованию с OE Replication
- «просыпается» каждые пять секунд и архивирует FULL и LOCKED экстенты.
- LOCKED-экстенты помечает как ARCHIVED, а FULL как EMPTY;
- текущий BUSY-экстент помечает как LOCKED, а следующий EMPTY-экстент как BUSY. Когда OE Replication скопирует LOCKED-экстент, он пометит его как EMPTY;
- «засыпает» на пять секунд.
Метка:After-Imaging