ЧТО ТАКОЕ FAILBACK?
При активировании OE Replication начинается копирование первичной базы данных в одну или, возможно, две вторичные базы, расположенные на отдельных машинах. В случае возникновения сбоя в первичной базе или машины, на которой она расположена, деятельность базы данных может быть переведена на одну из вторичных базы. Работа такой базы будет продолжаться до тех пор, пока не будет восстановлена первичная база или машина, на которой она расположена. Обычно сбой происходит из-за потери связи между сервером репликации первичной базы и агентом репликации вторичной базы. В этом случае агент репликации переходит в состояние pretransition, в котором он ожидает, пока сервер репликации не переподключится к нему, либо пока не будет выполнен переход (transition) вручную или автоматически. Сразу после выполнения перехода вторичной базы данных в исходную базу, вся активность базы будет переведена на эту базу, это называется failover. Как только первичная машина/база окажется доступной, все изменения будут возвращены назад, этот процесс называется failback. Процесс Failback – это, по существу, тот же failover, только от вторичной машины к первичной. По завершении этого процесса все изменения будут снова выполняться на первичной базе данных, а вторичная база вернется в режим read-only.
С введением процесса failback в OE Replication важно знать связанную с ним терминологию. Эти термины уже описывались ранее, но сейчас о них будет рассказано более подробно.
Primary database - это база данных, изменяемая рабочими приложениями, именно для нее в дальнейшем активируется OE Replication, в результате чего она становится source database. Во время failure recovery роль этой базы меняется от source к target и обратно. Тем не менее, хотя роль базы данных может быть изменена, сама база по-прежнему остается primary database.
Secondary database - это начальная копия первичной базы данных, которая в дальнейшем, при включении OE Replication становится target database. Во время failure recovery роль secondary database меняется от target к source базе и обратно к target.
Source database - это база данных, непосредственно изменяемая пользователями. База данных не может считаться source, пока не будет активирован механизм OE Replication. Именно из этой базы сервер репликации копирует данные в target database.
Target database - это точная копия source database. Для дополнительной избыточности может быть создано две target database. Target database содержит те же данные, схему и логическую структуру, что и source database. Изменять target database может исключительно агент репликации.
Ключевым компонентом failover и failback является процесс, известный как transition. Transition - это изменение роли базы для выполнения failover при появлении сбоя на primary-машине (на которой находится source-база) или на secondary-машине, когда primary-машина снова становится доступной.
Target-база может быть переведена в normal или source-базу, при этом база может находиться как в online, так и в offline. Если target-база переходит в source-базу, к базе должны быть добавлены AI-экстенты и включен механизм after-imaging. Если target-база переходит в состояние normal, то база станет доступна для операций изменения, но тогда она никогда не сможет перейти в состояние source-базы.
Source-база может перейти в состояние target-базы. База также может находиться в online или в offline. Если переход выполняется в online, то должен быть выполнен процесс transition failover.
Source-база может перейти в состояние normal, если предварительно будет отключен OE Replication
После успешного завершения перехода база данных может быть автоматически запущена (если будут сделаны соответствующие настройки).
Поведение процесса transition зависит от таких факторов как:
- Статус базы данных - source или target
- Находится ли база в online или в offline
- Завершен предыдущий transition успешно или нет
- Запущен сервер репликации или агент
- Время, когда произошел сбой в работе репликации
Все операции перехода могут выполняться автоматически. Одни автоматические процессы контролируется настройкой в файле свойств, другие основываются на статусе переводимой базы данных. Операции перехода включают следующие автоматические функции:
- Остановку переведенной базы
- Перезапуск базы данных
- Добавление AI-экстентов
- Запуск after-imaging
Эффективность работы процесса transition зависит от того, как хорошо будет продуман план его реализации. В противном случае полное выполнение перехода не сможет быть выполнено. Вместо этого переход будет ограничен обычной сменой роли базы с target на source.
План перехода можно составить, ответив на следующие вопросы:
- Какая база будет primary, а какая secondary?
- Какой тип перехода выбрать? Определить, будет ли target-база переведена в состояние source или normal?
- Какие функциональные возможности after-imaging должны быть осуществлены? Можно выбрать автоматическое добавление AI-экстентов и старт механизма after-imaging.
- Какой тип резервного копирования выполнять во время перехода?
- Нужен ли автоматический перезапуск базы после завершения перехода?
- Будет ли выполняться автоматическое восстановление в случае сбоя в процессе перехода? (для этого нужно иметь резервную копию базы).
После ответов на эти вопросы можно приступить к настройке файла свойств репликации.
|