Механизм резервного копирования

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

Резервное копирование может выполняться как для всей базы данных в целом, так и для изменившейся ее части. В последнем случае в копию помещаются сведения только об изменениях, на­копившихся с момента создания предыдущей полной или изме­ненной резервной копии системы. Как правило, резервные копии создаются на автономных носителях.

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

Записи о транзакциях включают в себя:

• идентификатор транзакции;

• тип записи журнала (начало транзакции, операции вставки, обновления или удаления, отмену или фиксацию транзакции);

• идентификатор элемента данных, вовлеченного в операцию обработки базы данных (операции вставки, удаления и обновления);

• копию элемента данных до операции, т.е. его значение до изменения (только операции обновления и удаления);

• копию элемента данных после операции, т.е. его значение после изменения (только для операций обновления и вставки);

• служебную информацию файла журнала, содержащую указа­тели на предыдущую и следующую записи журнала для этой тран­закции (все операции).

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

Для ограничения объема поиска и последовательной обработ­ки информации в файле журнала используют метод создания кон­трольных точек.

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

Контрольные точки создаются через установленный интервал времени и предусматривают выполнение следующих действий:

• перенос всех имеющихся в оперативной памяти записей жур­нала во вторичную память;

• запись всех модифицированных блоков в буферах базы дан­ных во вторичную память;

• помещение в файл журнала записи контрольной точки, ко­торая содержит идентификаторы всех транзакций, активных в мо­мент ее создания.

Если транзакции выполняются последовательно, то после воз­никновения отказа файл журнала просматривается в целях обна­ружения последней транзакции, выполненной до создания пос­ледней контрольной точки.

Если транзакции выполняются параллельно, требуется выпол­нение наката всех транзакций, которые были зафиксированы со времени создания контрольной точки, и отката всех транзакций, которые были активны в момент аварии.

 

ЧАСТЬ VI.ПОСТРЕЛЯЦИОННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ
УДАЛЕННЫМИ БАЗАМИ ДАННЫХ

ГЛАВА 14. ОРИЕНТАЦИЯ РАЗВИТИЯ СУБД НА РАСШИРЕННУЮ РЕЛЯЦИОННУЮ МОДЕЛЬ