Выполнение Roll-forward Recovery
Для восстановления базы данных с помощью Roll-forward Recovery в случае какой-либо катастрофы необходимо на резервном сервере иметь следующие компоненты:
- Последнюю полную резервную копию базы данных.
- Все инкрементальные резервные копии, если они создавались.
- Последний журнал архивации.
- Все архивы AI-файлов, которые были созданы после формирования последней резервной копии.
- Если возможно, то AI-экстенты, которые не были заархивированы (FULL или BUSY), когда произошла катастрофа, так как они содержат данные о транзакциях. Если эти экстенты будут отсутствовать, то часть последних транзакций будет потеряна.
Для выполнения Roll-forward Recovery необходимо в первую очередь утилитой prorest восстановить базу данных из последней полной резервной копии, затем, если необходимо, восстановить все инкрементальные резервные копии, и в завершение применить все соответствующие AI-архивы к восстановленной базе данных утилитой rfutil с классификатором roll forward.
Упрощённый синтаксис команды rfutil rollforward:
rfutil db-name -C roll forward [-a ai-name|-ailist listfile]
Применение к базе данных AI-архивов может выполняться либо по одному отдельными командами (-a ai-name), либо списком из нескольких архивов (-ailist listfile).
Пример применения одного AI-архива:
rfutil sports -C roll forward -a sports.20160410.111032.00000001.sports.a1 rfutil sports -C roll forward -a sports.20160410.112032.00000002.sports.a2 rfutil sports -C roll forward -a sports.20160410.113032.00000003.sports.a3
Данный метод требует особого внимания от администратора, так как порядок применения AI-архивов должен строго соответствовать времени создания архивов. Если порядок будет нарушен, то команда выдаст сообщение об ошибке и процесс восстановления будет прерван.
Пример применения списка из AI-архивов:
rfutil sports -C roll forward -alist sportsAI.lst
Содержимое файла sportsAI.lst:
sports.20160410.111032.00000001.sports.a1 sports.20160410.113032.00000003.sports.a3 sports.20160410.112032.00000002.sports.a2
Обратите внимание, что в файле специально нарушен порядок формирования AI-архивов для примера. Команда rfutil roll forward автоматически выполнит сортировку архивов в хронологическом порядке перед их применением к базе данных.
Требования к файлу со списком AI-архивов:
- На одной строке должен быть указано имя только одного архива.
- Имя архива может содержать абсолютный или относительный путь. Относительный путь определяется относительно текущего рабочего каталога команды rfutil.
- Строки, начинающиеся с символов «:», «#» или «*» считаются комментариями.
- Если указанный файл не является AI-архивом, то утилита выдаст предупреждение и файл будет пропущен. Процесс восстановления будет продолжен со следующего файла.
После завершения процесса Roll-forward Recovery рекомендуется сразу сформировать полную резервную копию восстановленной базы данных и включить механизм After-Imaging.
Команда rfutil roll forward имеет несколько дополнительных параметров. Полный синтаксис команды и назначение всех её параметров можно найти в документации к OpenEdge, книга «Progress OpenEdge Data Management: Database Administration».