Этот сайт посвящается администрированию баз данных OpenEdge Progress.
Не корысти ради, а познания для!

С уважением,
Валерий Башкатов
Сайт разработан при участии компании Progress Technologies, официального дистрибьютора Progress Software Corp. на территории стран СНГ и Латвии.

RSS RSS подписка на обновления сайта

Поиск по сайту

Лучшие материалы

Orphus System
На сайте функционирует система коррекции ошибок. Обнаружив неточность в тексте, выделите её и нажмите Ctrl+Enter



Результаты опроса: Нужны ли книги по Progress OpenEdge на русском языке? (опрос проводился с мая 2009 по ноябрь 2010)

Да, нужны. Потому что будет легче понять материал - 268
Нет, не нужны. Достаточно материалов на английском языке - 10
Не знаю, мне всё равно - 6

А знаете ли вы что..



Что происходит во время выполнения PROBKUP ONLINE?


 


Резервное копирование базы данных в online с помощью команды probkup online  это единственный способ формирование резервной копии в online, который официально поддерживается в Progress OpenEdge. Далее будут описаны действия, которые выполняются этой утилитой во время ее работы.

 

В момент запуска команды probkup online все операции, которые выполнялись в этот момент, приостанавливаются на время, пока не будет скопирован BI файл. После этого их работоспособность восстанавливается, а probkup продолжает копировать соответствующие блоки с данными. Таким образом, во время работы команды гарантируется, что будет  сформирован моментальный снимок ресурсов базы данных, а именно, разделяемой памяти, BI файла и данных, находящихся на диске. Это обеспечивается следующим образом:

  1. Когда стартует probkup online, вся BI активность останавливается, что и приводит к остановке всех операций с базой данных.

  2. Буферный пул базы данных и BI буферы сбрасываются на диск. Если используются такие процессы как APW, BIW, AIW, то сброс буферов на диск займет намного меньше времени, если бы не один из них не был запущен. Соответственно время простоя будет намного короче. 

  3. Как только все буферы будут сброшены на диск, probkup  выполнит резервное копирование BI файла. Если быть точнее, то копирование происходит до позиции High Water Mark в BI файле. В этом контексте термин «BI файл» не относится ко всему файлу, находящемуся на диске, полный размер которого это сумма всех физических BI экстентов. Вместо этого обращение происходит к BI блокам, сгруппированным в BI кластеры, которые в настоящее время находятся в двунаправленной цепочке BI кластеров. Как только эти BI блоки будут скопированы, работа пользовательских процессов может быть продолжена.

  4. Как только BI будет скопирован, продолжится копирование блоков базы данных от начала до конца. Или если быть точным до High Water Mark каждой области хранения. Исключением на этой стадии является  выполнение инкрементального probkup online, в этом случае будут копироваться только те данные, которые были изменены с момента формирования последней полной или инкрементальной копии. На этой стадии формирования online резервной копии буферы базы данных могут считываться с диска и записываться на диск, т.е. пользователи могут выполнять изменения базы данных. При этом, если блок с данными должен быть изменен, то он сначала будет скопирован. Т.е. probkup online перепрыгнет к этому блоку в буферном пуле разделяемой памяти (-B), скопирует его, увеличит счетчик резервного копирования, после чего освободит этот блок, чтобы его можно было изменить. Как только probkup online дойдет до этого блока в процессе нормальной работы, то блок будет пропущен, так как он уже был скопирован.  Таки образом, когда online резервная копия будет восстановлена, все заметки в BI файле так же восстановятся и будут соответствовать блокам базы данных на тот момент, когда они все были скопированы. Что в свою очередь позволит корректно отработать фазе Physical Redo или, если необходимо, то и фазам Logical Redo и Undo.

  5. Если в базе включен механизм After-Imaging, то probkup online автоматически выполнит переключение AI экстентов. Заметьте, что AI экстенты должны копироваться отдельно с помощью системных утилит, т.е. они не копируются командой probkup.

Это мы рассмотрели процесс формирования обычной online резервной копии на промышленной базе данных. Давайте теперь рассмотрим процесс ее формирования на Target базе данных в системе с включенным механизмом OpenEdge Replication Plus (доступно начиная с версии OpenEdge 10.1C). Здесь есть некоторые существенные моменты, о которых всегда необходимо помнить, когда вы запускаете команду probkup online на Target базе данных.

Для того чтобы online backup был успешно выполнен на target базе данных, необходимо согласовать работу этого процесса с работой OE Replication. И вот как это происходит после запуска на выполнение команды probkup online на Target базе данных:

1. Если Агент Репликации активен, то:

  • утилита probkup посылает Агенту Репликации сообщение о том, что собирается начать процедуру online backup;

  • агент репликации информирует сервер репликации о начале online backup на target базе данных, при этом проверяется, что:

    • Target база данных на текущий момент не заблокирована (не активирована точка останова “quiet point”, не включен BI stall или AI stall, или не выполняется другой online backup);

    • агент репликации имеет связь с сервером репликации;

    • на текущий момент не выполняется процесс синхронизации.

2. Затем происходит одно из следующих действий: 

  • если сервер репликации способен получить блокировку разделяемой схемы (shared schema lock) на source базе данных  и выполняется асинхронная репликация, то сервер репликации помечает базу данных как Busy. Это позволяет базе данных продолжать нормальную работу. Затем сервер репликации отправляет положительный ответ агенту репликации, далее происходит так, как описано в шаге 3.

  • если же сервер репликации не может получить блокировку разделяемой схемы, он уведомляет об этом агента репликации, который в свою очередь сообщает пользователю, запустившему probkup, о не возможности выполнения процедуры на текущий момент. 

3. Если агент репликации получает положительный ответ от сервера репликации, то online backup`у позволяется продолжать работу.

4. Утилита probkup выполняет резервное копирование.

5. Когда процесс online backup завершает свою работу, то он посылает соответствующее сообщение о завершении агенту репликации. 

6. В свою очередь, агент репликации отправляет сообщение о завершении работы probkup серверу репликации.

7. Сервер репликации начинает синхронизацию, с целью передачи всех изменений, выполненных во время выполнения online backup, с Source базы данных на Target базу данных. Как только синхронизация будет завершена, сервер репликации вернется к нормальному процессу работы.

8. Теперь процесс online backup завершен.

Для того чтобы этот процесс мог работать без каких-либо проблем необходимо чтобы соблюдались следующие условия:

  1. Процесс репликации должен выполняться в асинхронном режиме;

  2. Сервер репликации должен быть способен получить блокировку разделяемой схемы базы данных;

  3. На Source базе данных должно быть достаточно AI экстентов фиксированного размера, которые смогут уместить все AI заметки, созданные во время формирования online backup. Либо это должны быть AI экстенты переменного размера, интервал переключения между которыми должен быть подобран так, чтобы этих AI экстентов хватило. Это связано с тем, что AI блоки не будет передаваться на Target базу данных во время выполнения online backup на ней, а вместо этого будут скапливаться в AI экстентах Source базы данных.

И еще не большое замечание, если у вас имеется две Target базы данных, то во время выполнения probkup online на одной из них, копирование AI блоков будет на время приостановлено и для второй Target базы. 

 



 





Главная |  Статьи |  Книги |  Гостевая |  Ссылки |  От автора |  Download ProKb


������ ᠩ� pr Online ProKB Blogger Welcome to Russian Progress Users Group at Facebook Welcome to Russian Progress Users Group at LinkedIn
© 2009 - 2011 Все права на материалы, находящиеся на сайте www.openedge.ru, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах.
При любом использовании материалов сайта ссылка на источник обязательна.