Здавалка
Главная | Обратная связь

Схема восстановления от точки физической согласованности



Будем считать, что в журнале отмечаются точки физической согласованности базы данных – моменты времени, в которые во внешней памяти содержатся согласованные результаты операций, завершившихся до соответствующего момента времени, и отсутствуют результаты операций, которые не завершились, а буфер журнала вытолкнут во внешнюю память. Немного позже мы обсудим, как можно достичь физической согласованности. Назовем такие точки ppc (point of physical consistency).

Все возможные состояния транзакций к моменту мягкого сбоя показаны на рис. 14.1.


Рис. 14.1. Возможные состояния транзакций к моменту мягкого сбоя

Предположим, что каким-то образом удалось восстановить внешнюю память базы данных к состоянию на момент времени tppc (как это можно сделать, обсудим в следующем подразделе). Тогда восстановление последнего по времени логически целостного состояния базы данных производится следующим образом.

  • Для транзакции T1 никаких действий производить не требуется. Она закончилась до момента tppc, и все ее результаты гарантированно отражены во внешней памяти базы данных.
  • Для транзакции T2 нужно повторно выполнить (redo) последовательность операций, которые выполнялись после установки точки физически согласованного состояния в момент tppc. Действительно, во внешней памяти полностью отсутствуют следы операций, которые выполнялись в транзакции T2 после момента tppc. Следовательно, повторное прямое (по смыслу и хронологии) выполнение операций транзакции T2 корректно и приведет к логически согласованному состоянию базы данных. (Поскольку транзакция T2 успешно завершилась до момента мягкого сбоя tfs, в журнале содержатся записи обо всех изменениях базы данных, произведенных этой транзакцией.)
  • Для транзакции T3 нужно выполнить в обратном направлении (undo) ту часть операций, которую она успела выполнить до момента tppc. Действительно, во внешней памяти базы данных полностью отсутствуют результаты операций T3, которые были выполнены после момента tppc. С другой стороны, во внешней памяти гарантированно присутствуют результаты операций T3, которые были выполнены до момента tppc. Следовательно, обратное выполнение (по смыслу и хронологии) операций T3 корректно и приведет к согласованному состоянию базы данных. (Поскольку транзакция T3 не завершилась к моменту мягкого сбоя tfs, при восстановлении необходимо устранить все последствия ее выполнения.)
  • Для транзакции T4, которая успела начаться после момента tppc и закончиться до момента мягкого сбоя tfs, нужно произвести полное повторное выполнение операций в прямом направлении. (Поскольку транзакция T4 успешно завершилась до момента мягкого сбоя tfs, в журнале содержатся записи обо всех изменениях базы данных, произведенных этой транзакцией).
  • Наконец, для транзакции T5, начавшейся после момента tppc и не успевшей завершиться к моменту мягкого сбоя tfs, никаких действий предпринимать не требуется. Результаты операций этой транзакции полностью отсутствуют во внешней памяти базы данных.






©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.