Просмотр содержимого документа
«Механизм резервного копирования»
Тема учебного занятия
«Механизм резервного копирования»
Резервное копирование
Любая СУБД должна предоставлять механизм, позволяющий создавать резервные копии базы данных и файла ее журнала через установленные интервалы времени.
Резервное копирование может выполняться как для всей базы данных в целом, так и для изменившейся ее части. В последнем случае в копию помещаются сведения только об изменениях, накопившихся с момента создания предыдущей полной или измененной резервной копии системы.
Файл журнала БД
Для фиксации хода выполнения транзакций СУБД использует специальный файл, который называют журналом.
Этот файл содержит сведения обо всех обновлениях, выполненных в базе данных. В файл журнала помещают записи о транзакциях и записи контрольных точек.
Записи о транзакциях включают в себя:
- идентификатор транзакции;
- тип записи журнала (начало транзакции, операции вставки, обновления или удаления, отмену или фиксацию транзакции);
- идентификатор элемента данных, вовлеченного в операцию обработки базы данных (операции вставки, удаления и обновления);
- копию элемента данных до операции, т.е. его значение до изменения (только операции обновления и удаления);
- копию элемента данных после операции, т.е. его значение после изменения (только для операций обновления и вставки);
- служебную информацию файла журнала, содержащую указатели на предыдущую и следующую записи журнала для этой транзакции (все операции).
Создание контрольных точек
Контрольная точка — момент синхронизации между базой данных и журналом регистрации транзакций, при котором все буферы системы принудительно записываются в ее вторичную память.
Создание контрольных точек
Контрольные точки создаются через установленный интервал времени и предусматривают выполнение следующих действий:
• перенос всех имеющихся в оперативной памяти записей журнала во вторичную память;
• запись всех модифицированных блоков в буферах базы данных во вторичную память;
• помещение в файл журнала записи контрольной точки, которая содержит идентификаторы всех транзакций, активных в момент ее создания.