ВУЗ:
Составители:
Рубрика:
43
Рис. 4.3. Пять вариантов транзакции
Очевидно, что при перезагрузке системы транзакции типа Т
З
и Т
5
должны быть
отменены, а транзакции типа Т
2
и Т
4
- выполнены повторно. Тем не менее заметьте, что
транзакции типа Т
1
вообще не включаются в процесс перезагрузки, так как обновления
попали в базу данных еще до момента времени t
с
(т.е. зафиксированы еще до принятия
контрольной точки). Отметьте также, что транзакции, завершившиеся неудачно (в том
числе отмененные) перед моментом времени tc, вообще не будут вовлечены в процесс
перезагрузки (подумайте, почему).
Следовательно, во время перезагрузки система вначале проходит через процедуру
идентификации всех транзакций типа Т
2
-Т
5
. При этом выполняются перечисленные ниже
шаги.
1. Создается два списка транзакций: назовем их UNDO (отменить) и REDO
(выполнить повторно). В список UNDO заносятся все транзакции, предоставлен-
ные из записи контрольной точки, т.е. все транзакции, выполняющиеся в момент
времени t
c
, а список REDO остается пустым.
2. Осуществляется поиск в файле регистрации (журнале), начиная с записи кон-
трольной точки.
3. Если в файле регистрации обнаружена запись BEGIN TRANSACTION о начале
транзакции Т, то эта транзакция также добавляется в список UNDO.
4. Если в файле регистрации обнаружена запись COMMIT об окончании транзакции
Т, то эта транзакция добавляется в список REDO.
5. Когда достигается конец файла регистрации, списки UNDO и REDO анализиру-
ются для идентификации транзакций типа Т
2
и Т
4
, появившихся в списке REDO, и
транзакций типа Т
З
и Т
5
, оставшихся в списке UNDO.
После этого система просматривает назад файл регистрации, отменяя транзакции из
списка UNDO, а затем просматривает снова вперед, повторно выполняя транзакции из
списка REDO.
Замечание. Восстановление базы данных в правильное состояние путем отмены
выполненных операций иногда называется обратным восстановлением. Аналогично,
восстановление ее в правильное состояние повторным выполнением называется прямым
восстановлением.
И наконец, когда такая восстановительная работа завершена, система готова при-
Время
t
c
Т
р
а
н
з
а
к
ц
и
и
Т1
Т2
Т3
Т4
Т5
t
f
Контрольная точка
(время t
c
)
Отказ системы
(время t
f
)
Время tc tf
Т
р Т1
а
н
з Т2
а
к
ц Т3
и
и Т4
Т5
Контрольная точка Отказ системы
(время tc) (время tf)
Рис. 4.3. Пять вариантов транзакции
Очевидно, что при перезагрузке системы транзакции типа ТЗ и Т5 должны быть
отменены, а транзакции типа Т2 и Т4 - выполнены повторно. Тем не менее заметьте, что
транзакции типа Т1 вообще не включаются в процесс перезагрузки, так как обновления
попали в базу данных еще до момента времени tс (т.е. зафиксированы еще до принятия
контрольной точки). Отметьте также, что транзакции, завершившиеся неудачно (в том
числе отмененные) перед моментом времени tc, вообще не будут вовлечены в процесс
перезагрузки (подумайте, почему).
Следовательно, во время перезагрузки система вначале проходит через процедуру
идентификации всех транзакций типа Т2-Т5. При этом выполняются перечисленные ниже
шаги.
1. Создается два списка транзакций: назовем их UNDO (отменить) и REDO
(выполнить повторно). В список UNDO заносятся все транзакции, предоставлен-
ные из записи контрольной точки, т.е. все транзакции, выполняющиеся в момент
времени tc, а список REDO остается пустым.
2. Осуществляется поиск в файле регистрации (журнале), начиная с записи кон-
трольной точки.
3. Если в файле регистрации обнаружена запись BEGIN TRANSACTION о начале
транзакции Т, то эта транзакция также добавляется в список UNDO.
4. Если в файле регистрации обнаружена запись COMMIT об окончании транзакции
Т, то эта транзакция добавляется в список REDO.
5. Когда достигается конец файла регистрации, списки UNDO и REDO анализиру-
ются для идентификации транзакций типа Т2 и Т4, появившихся в списке REDO, и
транзакций типа ТЗ и Т5, оставшихся в списке UNDO.
После этого система просматривает назад файл регистрации, отменяя транзакции из
списка UNDO, а затем просматривает снова вперед, повторно выполняя транзакции из
списка REDO.
Замечание. Восстановление базы данных в правильное состояние путем отмены
выполненных операций иногда называется обратным восстановлением. Аналогично,
восстановление ее в правильное состояние повторным выполнением называется прямым
восстановлением.
И наконец, когда такая восстановительная работа завершена, система готова при-
43
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »
