Документация iSZN

03. Надёжность хранения

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

  • аварийное завершение работы СУБД по причине ошибки в программе или в результате некоторого аппаратного сбоя;
  • аварийное завершение пользовательской программы, в результате чего некоторая транзакция остаётся незавершённой.

Во всех случаях придерживаются стратегии «упреждающей» записи в журнал, так называемого протокола WAL — Write Ahead Log. Она заключается в том, что запись об изменении любого объекта базы данных должна попасть во внешнюю память журнала раньше, чем изменённый объект попадёт во внешнюю память основной части базы данных. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления базы данных после любого сбоя.

СУБД Oracle Database Server обеспечивает эффективное, надёжное и безопасное управление данными таких критически важных для бизнеса приложений, как онлайновые среды, выполняющие масштабную обработку транзакций (OLTP), хранилища данных с высокой интенсивностью потока запросов, а также ресурсоёмкие интернет-приложения, благодаря встроенным в ядро системы механизмам отката (undo), журналирования повторного выполнения (redo logs) и архивирования журнальных записей (archivelog).