ВУЗ:
Составители:
Рубрика:
44
ступить к дальнейшей работе.
Восстановление носителей
Процесс восстановления носителей в корне отличается от восстановления
транзакции и системы. Он включен в обсуждение для завершенности рассматриваемой
темы.
Как уже отмечалось, отказы носителей - это нарушения типа поломки головок
дискового накопителя или дискового контроллера, когда некоторая часть базы данных
разрушается физически. Восстановление после такого нарушения включает перезапись
(или восстановление) базы данных с резервной копии (или дампа) и последующее
использование файла регистрации - как его активной, так и архивной части. В общем,
такое восстановление - это повторное выполнение всех транзакций, вызванное
применением резервной копии. При этом нет необходимости отмены транзакций, которые
выполнялись в момент отказа носителей, поскольку по определению все обновления таких
транзакций полностью утеряны.
Таким образом, восстановление средств подразумевает наличие утилиты дамп/
восстановление. Дамп-часть этой утилиты используется для сохранения резервной копии.
Такие копии могут сохраняться либо на ленте, либо другим архивным способом. После
отказа носителей восстановительная часть утилиты используется для создания базы
данных со специализированной резервной копии.
Двухфазная фиксация
Двухфазная фиксация важна всякий раз, когда определенная транзакция может
взаимодействовать с несколькими независимыми администраторами ресурсов, каждый
из которых руководит своим собственным набором восстанавливаемых ресурсов и под-
держивает собственный файл регистрации (журнал). Например, пусть транзакция,
запущенная в среде MVS компьютера IBM, модифицирует как базу данных IMS, так и
базу данных DB2 (между прочим, такая транзакция вполне допустима). Если транзакция
завершается успешно, то все ее обновления, как для данных IMS, так и для данных DB2,
могут быть выполнены. В противном случае все ее обновления могут быть отменены или
транзакция перестанет быть атомарной.
Для транзакции не имеет смысла выполнять COMMIT для IMS и ROLLBACK для
DB2, и, даже если подобная инструкция будет выполнена для обеих баз, система все равно
может дать сбой между двумя этими операциями. Вместо этого транзакция выполняет об-
щесистемную команду COMMIT (или ROLLBACK). Этими операциями руководит
системный компонент, называемый координатором. Он гарантирует, что оба
администратора ресурсов (т.е. IMS и DB2 в примере) передают или отменяют обновления,
за которые они ответственны. Более того, он обеспечивает такую гарантию, даже если
система отказала в середине процесса. Это происходит благодаря протоколу двухфазной
фиксации.
Ниже приведена последовательность работы координатора. Для простоты примем,
что транзакция в базе данных выполнена успешно, а значит, выдана системная операция
COMMIT, а не ROLLBACK. После получения запроса на выполнение COMMIT
координатор осуществляет следующий двухфазный процесс.
1. Во-первых, он дает указание всем администраторам ресурсов быть готовыми дей-
ствовать на транзакцию “любым способом”. На практике это означает, что каж-
дый участник процесса, т.е. каждый администратор ресурсов, должен насильно
сохранить все записи журнала (файла регистрации) для локальных ресурсов, ис-
пользуемых транзакцией вне собственных физических файлов регистрации (т.е.
вне энергозависимой памяти). Теперь, что бы ни случилось, администратор ресур-
сов не будет выполнять постоянной записи от имени транзакции, а сможет при
необходимости передавать свои обновления и отменять их. Если насильственная
ступить к дальнейшей работе.
Восстановление носителей
Процесс восстановления носителей в корне отличается от восстановления
транзакции и системы. Он включен в обсуждение для завершенности рассматриваемой
темы.
Как уже отмечалось, отказы носителей - это нарушения типа поломки головок
дискового накопителя или дискового контроллера, когда некоторая часть базы данных
разрушается физически. Восстановление после такого нарушения включает перезапись
(или восстановление) базы данных с резервной копии (или дампа) и последующее
использование файла регистрации - как его активной, так и архивной части. В общем,
такое восстановление - это повторное выполнение всех транзакций, вызванное
применением резервной копии. При этом нет необходимости отмены транзакций, которые
выполнялись в момент отказа носителей, поскольку по определению все обновления таких
транзакций полностью утеряны.
Таким образом, восстановление средств подразумевает наличие утилиты дамп/
восстановление. Дамп-часть этой утилиты используется для сохранения резервной копии.
Такие копии могут сохраняться либо на ленте, либо другим архивным способом. После
отказа носителей восстановительная часть утилиты используется для создания базы
данных со специализированной резервной копии.
Двухфазная фиксация
Двухфазная фиксация важна всякий раз, когда определенная транзакция может
взаимодействовать с несколькими независимыми администраторами ресурсов, каждый
из которых руководит своим собственным набором восстанавливаемых ресурсов и под-
держивает собственный файл регистрации (журнал). Например, пусть транзакция,
запущенная в среде MVS компьютера IBM, модифицирует как базу данных IMS, так и
базу данных DB2 (между прочим, такая транзакция вполне допустима). Если транзакция
завершается успешно, то все ее обновления, как для данных IMS, так и для данных DB2,
могут быть выполнены. В противном случае все ее обновления могут быть отменены или
транзакция перестанет быть атомарной.
Для транзакции не имеет смысла выполнять COMMIT для IMS и ROLLBACK для
DB2, и, даже если подобная инструкция будет выполнена для обеих баз, система все равно
может дать сбой между двумя этими операциями. Вместо этого транзакция выполняет об-
щесистемную команду COMMIT (или ROLLBACK). Этими операциями руководит
системный компонент, называемый координатором. Он гарантирует, что оба
администратора ресурсов (т.е. IMS и DB2 в примере) передают или отменяют обновления,
за которые они ответственны. Более того, он обеспечивает такую гарантию, даже если
система отказала в середине процесса. Это происходит благодаря протоколу двухфазной
фиксации.
Ниже приведена последовательность работы координатора. Для простоты примем,
что транзакция в базе данных выполнена успешно, а значит, выдана системная операция
COMMIT, а не ROLLBACK. После получения запроса на выполнение COMMIT
координатор осуществляет следующий двухфазный процесс.
1. Во-первых, он дает указание всем администраторам ресурсов быть готовыми дей-
ствовать на транзакцию “любым способом”. На практике это означает, что каж-
дый участник процесса, т.е. каждый администратор ресурсов, должен насильно
сохранить все записи журнала (файла регистрации) для локальных ресурсов, ис-
пользуемых транзакцией вне собственных физических файлов регистрации (т.е.
вне энергозависимой памяти). Теперь, что бы ни случилось, администратор ресур-
сов не будет выполнять постоянной записи от имени транзакции, а сможет при
необходимости передавать свои обновления и отменять их. Если насильственная
44
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »
