Резервное копирование и восстановление базы данных, страница 2

Методы резервного копирования

Потеря данных может быть классифицирована, как физическая или логическая:

·  физическая потеря данных происходит на уровне операционной системы и представляет собой потерю таких физических объектов, как файлов данных, управляющих файлов, оперативных и архивных журнальных файлов;

·  логическая потеря данных происходит на уровне объектов базы данных и представляет собой потерю логических объектов базы данных, таких как таблицы, индексы, строки в таблице.

Чтобы избежать как физической, так и логической потери данных, Oracle располагает средствами физического и логического копирования.

·  Физическое копирование предполагает создание копий файлов базы данных и архивных журнальных файлов. Физические резервные копии являются непереносимыми, т. е. должны использоваться для восстановления базы данных на той же машине, в той же версии Oracle и в том же экземпляре. Физическое резервное копирование, в свою очередь, может быть «горячим» (online) или «холодным» (offline) копированием.

«Холодное» (offline) копирование производится при отключенной базе данных и позволяет получить наиболее полную резервную копию. При режиме работы 24´7 этот способ не подходит, т. к. при «холодном» резервном копировании база данных должна быть выключена, и, следовательно, недоступна пользователям.

«Горячее» (online) копирование подразумевает создание резервной копии базы данных в тот момент, когда она находится в рабочем состоянии. Этот способ наиболее удобен, если база данных должна работать в режиме 24´7. Без особой необходимости пользоваться этим методом резервного копирования не рекомендуется, т. к. он не очень надежен и может привести к потере данных.

·  Логическое копирование предполагает создание и сохранение в файле операционной системы набора инструкций по воссозданию логических объектов базы данных, а также набора строк базы данных. Логическое копирование, как правило, применяется в тех случаях, когда требуется переместить конкретные данные в другую систему, отличающуюся архитектурой, версией операционной системы или Oracle. Логическое копирование является «горячим», т.е. выполняется при открытой базе данных.

Физическое резервное копирование

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

«Холодное» физическое копирование

«Холодное» физическое копирование – это самый простой и самый надежный способ защиты базы данных от физической потери данных. Однако «холодное» копирование требует полной остановки базы данных.

При «холодном» копировании выполняются следующие шаги:

·  необходимо остановить базу данных в режиме NORMAL или IMMEDIATE

SHUTDOWN {NORMAL|IMMEDIATE}

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

·  открыть базу данных Oracle

STARTUP

Список всех файлов (кроме файла параметров), которые надо копировать, можно получить, выполнив запросы к представлениям словаря данных:

SELECT name FROM v$datafile

SELECT member FROM v$logfile

SELECT name FROM v$controlfile

Достоинства «холодного» физического копирования:

·  этот способ концептуально прост и легок в исполнении,

·  «холодное копирование» требует минимального вмешательства администратора, поэтому меньше подвержено ошибкам.

Недостатки «холодного» физического копирования:

·  база данных недоступна во время выполнения резервного копирования

·  базу данных можно восстановить только в том виде, в каком она была на момент создания резервной копии

«Горячее» физическое копирование

«Горячее» физическое копирование также обеспечивает защиту от физической потери данных, однако при выполнении «горячего» копирования база данных открыта и доступна для пользователей. Этот способ резервного копирования рекомендуется при режиме работы 24´7.

«Горячее» физическое резервное копирование требует, чтобы база данных была запущена в режиме ARCHIVELOG, в котором архивируются все файлы оперативного журнала.

При «горячем» резервном копировании выполняются следующие шаги:

·  необходимо убедиться, что база данных запущена в режиме ARCHIVELOG:

SELECT log_mode FROM v$database

·  табличное пространство переводится в состояние резервного копирования:

ALTER TABLESPACE табличное_пространство BEGIN BACKUP

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

·  средствами операционной системы производится копирование файлов данных, составляющих данное табличное пространство. Чтобы определить, какие файлы связаны с табличным пространством, необходимо выполнить запрос:

SELECT file_name FROM dba_data_files WHERE tablespace_name=’ТАБЛИЧНОЕ_ПРОСТРАНСТВО

·  табличное пространство возвращается в обычное состояние:

ALTER TABLESPACE табличное_пространство END BACKUP

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