Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
88
Добавлен:
10.02.2015
Размер:
41.18 Кб
Скачать

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

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

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

Файл журнала

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

  • Записи о транзакциях, включающие идентификатор транзакции;

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

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

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

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

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

  • Записи контрольных точек.

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

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

Один из подходов к автономной обработке файла журнала состоит в разделении оперативного файла журнала на две независимые части, организованные в виде файлов с произвольным доступом. Записи журнала помещаются в первый файл до тех пор, пока он не будет заполнен до установленного уровня (например, на 70%). Затем открывается второй файл, и все записи журнала для новых транзакций записываются уже в него. Сведения о старых транзакциях продолжают записывать в первый файл до тех пор, пока обработка всех старых транзакций не будет завершена. В этот момент первый файл закрывается и переводится в автономное состояние. Подобный подход упрощает восстановление отдельных транзакций, поскольку записи о каждой отдельной транзакции всегда содержатся в одном фрагменте файла журнала — либо в оперативном, либо в автономном. Следует отметить, что файл журнала потенциально является узким местом с точки зрения производительности любых систем, поэтому скорость записи информации в файл журнала может оказаться одним из важнейших факторов, определяющих общую производительность системы с базой данных.

Соседние файлы в папке Базы данных(1 курс, 2 семестр,2011-2012)