Системный журнал

Информация о всех изменениях БД, производимых транзакцией, фиксируется в специальном наборе файлов – системном журнале. Запись информации в системный журнал всегда предшествует выполнению изменения БД. Системный журнал является основой для обеспечения надежной работы СУБД, поэтому желательно располагать системный журнал и собственно БД на различных внешних носителях.

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

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

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