36293

Восстановление базы данных

Доклад

Информатика, кибернетика и программирование

При этом надо устранить последствия операторов модификации базы данных которые выполнялись в этой транзакции. Ситуация характеризуется потерей той части базы данных которая к моменту сбоя содержалась в буферах оперативной памяти. Восстановление после поломки основного внешнего носителя базы данных жесткий сбой.

Русский

2013-09-21

28 KB

3 чел.

  1.  Восстановление базы данных

 

Существует 3 типа сбоя (см. ответ на вопрос 3):

  1.  Индивидуальный откат транзакции. Типичной ситуацией отката транзакции является ее завершением оператором ROLLBACK; откат транзакции может быть инициирован системой. При этом надо устранить последствия  операторов модификации базы данных, которые выполнялись в этой транзакции.
  2.  Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой). Возникает при выключении электрического питания и при неустранимом сбое процессора. Ситуация характеризуется потерей той части базы данных, которая к моменту сбоя содержалась в буферах оперативной памяти.
  3.  Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой).

Индивидуальный откат транзакции.

Для того чтобы можно было выполнить по общему журналу индивидуальный откат транзакции, все записи в журнале о данной транзакции связываются в обратный список. Началом списка для незакончившихся является запись о последнем изменении базы данных, произведенном данной транзакцией. Концом списка всегда служит запись об изменении базы данных, произведенном данной транзакцией. Обычно в каждой записи проставляется идентификационный номер транзакции, чтобы можно было восстановить прямой список записей об изменениях базы данных определенной транзакции.

Индивидуальный откат транзакции выполняется следующим образом:

выбирается очередная запись из списка данной транзакции;

выполняется противоположная по смыслу операция (например, вставка вместо удаления); тем самым восстанавливается предыдущее состояние объекта базы данных;

обратные операции журнализируются;

при успешном завершении отката в журнал заносится запись о конце транзакции; с точки зрения механизма  журнализации такая транзакция является зафиксированной.

Восстановление после мягкого сбоя.

К числу проблем, возникающих при мягком сбое, относится тот факт, что одна логическая операция модификации базы данных может изменить несколько физических блоков базы данных. Несмотря на применение протокола WAL, после мягкого сбоя набор страниц внешней памяти базы данных может оказаться несогласованным, т.е. часть страниц внешней памяти соответствует измененному состоянию объекта, а часть - нет. К такому состоянию не применима операция восстановления логического уровня. Если состояние объекта соответствует состоянию объекта до/после его изменения, то состояние внешней памяти базы данных называют физически согласованным.

Восстановление после жесткого сбоя, механизм резервного копирования.

Любая СУБД должна предоставлять механизм, позволяющий создавать резервные копии базы данных и ее журнала через установленные промежутки времени и без необходимости останавливать систему.

Для этого типа восстановления недостаточно только восстановление последнего состояния базы данных, поэтому основным инструментом является в этом случае журнал и архивная копия базы данных.

Восстановления начинается с обратного копирования базы данных из архивной копии; затем для всех закончившихся транзакций операции выполняются повторно в прямом смысле. По журналу (в прямом направлении) выполняются все операции, для незакончившихся к моменту сбоя операциям применяется откат. Поскольку жесткий сбой не сопровождается утратой буферов оперативной памяти, можно восстановить базу данных до такого уровня, чтобы можно было продолжить даже выполнение незакончившихся транзакций. Восстановление после жесткого сбоя - процедура достаточно длительная. К сожалению, возможна утрата и журнала изменений, тогда единственным источником данных является архивная копия; недостатком в данном случае является восстановление не к последнему согласованному состоянию базы данных.

Производство архивных копий возможно несколькими путями: при переполнении журнала изменений и архивирование самого журнала изменений.