Резервное копирование БД

Управление восстановлением БД

 

Восстановление БД это процесс возвращения базы данных в корректное состояние, утраченное в результате сбоя или отказа. Существует множество различных типов отказов: сбои аппаратного и программного обеспечения системы, преднамеренных и непреднамеренных действий пользователей. Например, прикладной программист не реализовал в приложении обработку ситуации временного отключения клиентского приложения от сервера (сетевой сбой), вследствие чего конечный пользователь осуществляет ввод большого объема данных, не зная о том, что данные не будут сохранены на сервере. Причиной любого сбоя или отказа системы возможны такие последствия, как утрата данных в оперативной памяти, утрата данных на диске.

Когда происходит сбой, невозможно просто устранить проблему и продолжить работу БД. При многопользовательском режиме работы состояние системы с того места, как она была прервана, воспроизвести в точности практически невозможно.

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


 

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

Экспорт представляет собой логическое копирование БД, два остальных способа – физическое копирование файлов.

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

Логическое резервное копирование базы данных предполагает чтение её записей и внесение их в файл. Записи считываются независимо от их физического расположения. При этом происходит обращение, как к данным, так и к словарю данных. Можно экспортировать всю БД, конкретные подсхемы или конкретные таблицы. В процессе экспорта можно также решить, следует ли экспортировать связанную с таблицами информацию словаря данных, такую как привилегии, индексы, ограничения. Созданные в процессе экспорта файл будет содержать команды, необходимые для полного воссоздания всех выбранных для экспорта объектов. Экспортированные данные не обязательно должны быть импортированы в ту же самую базу данных или в туже схему. С помощью этого файла можно создать копию экспортированных объектов в другой схеме или в другой БД. При реализации импорта данных возможно определить – все данные будут импортированы или необходимая их часть.

В ходе операций физического резервного копирования файлы БД копируются независимо от их логического содержания. Эти копии называют резервными копиями файловой системы. Различают два типа физического копирования файлов – автономное (холодное копирование) и оперативное (горячее копирование). Автономное копирование выполняется при нормальной остановке БД. После её отключения копируются следующие файлы: все файлы данных; все управляющие файлы; все оперативные журналы и т.д. Получают полный образ БД на момент её останова. Все файлы впоследствии можно извлечь из резервной копии и база данных снова будет работать. Оперативное резервное копирование можно осуществлять для любой БД, работающей в открытом режиме, это необходимо для баз данных, остановка которых невозможна. Оперативное резервное копирование позволяет впоследствии осуществить полное восстановление информации с привязкой ко времени.