Бэкап Файлов Параметров Сервера и Архивных Журналов Транзакций с помощью RMAN

Рубрика: Oracle

Здравствуйте, уважаемые читатели блога okITgo.ru! Сегодня мы научимся осуществлять резервное копирование файлов параметров сервера и файлов архивных журналов транзакций с помощью Менеджера Восстановления.

Бэкап Файлов Параметров Сервера посредством RMAN

Как объяснено в одном из предыдущих постов, посвященных Бэкапам Контрольных файлов в RMAN, диспетчер восстановления автоматически резервирует текущий файл параметров сервера в определенных случаях. Команда BACKUP SPFILE резервирует файл параметров явно. Например:

BACKUP DEVICE TYPE sbt SPFILE;

SPFILE, который резервируется, является файлом параметров сервера, который используется в настоящее время экземпляром. Если экземпляр запускается с клиентского файла параметров инициализации, то RMAN ничего не резервирует при использовании этой команды.

Взятие Бэкапов Архивных Журналов Транзакций с RMAN

Архивные журналы транзакций – ключ к успешному восстановлению носителя. Резервируйте их регулярно. Можно делать бэкап журналов командой BACKUP ARCHIVELOG, или резервировать журналы при резервном копировании файлов данных и контрольных файлов, указывая BACKUP … PLUS ARCHIVELOG.

Резервирование Файлов Архивных Журналов Транзакций с помощью BACKUP ARCHIVELOG

Чтобы сделать бэкап архивных журналов транзакций, используйте команду BACKUP ARCHIVELOG в командной строке RMAN. Этот пример использует сконфигурированный диск или канал sbt, чтобы зарезервировать по одной копии журнала каждого порядкового номера для всех архивных журналов транзакций:

BACKUP ARCHIVELOG ALL;

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

Можно также указать диапазон архивных журналов транзакций по времени, SCN или по порядковому номеру журнала, как в следующем примере:

BACKUP ARCHIVELOG 
  FROM TIME 'SYSDATE-30' UNTIL TIME 'SYSDATE-7';

Автоматические переключения оперативных журналов транзакций во время бэкапов архивных журналов

Беря резервную копию архивных журналов транзакций, которая включает самый последний журнал (то есть, команда BACKUP … ARCHIVELOG выполняется без опций UNTIL или SEQUENCE), если база данных открыта, то прежде, чем начать резервное копирование, RMAN переключит текущую онлайновую группу журналов транзакций, и все оперативные журналы транзакций, которые еще не были заархивированы, вплоть до и включая группу журналов транзакций, которая была текущей, когда команда была запущена на выполнение. Это гарантирует, что резервная копия будет содержать все транзакции, которые были сгенерированы до запуска команды.

Использование BACKUP ARCHIVELOG с DELETE INPUT или DELETE ALL INPUT

Можно указать предложения DELETE INPUT или DELETE ALL INPUT для команды BACKUP ARCHIVELOG, чтобы стереть архивные журналы после того, как они будут зарезервированы, избегая отдельный шаг ручного удаления архивных журналов транзакций. При DELETE INPUT RMAN стирает только определенную копию архивного журнала транзакций, выбранную для набора резервирования. При DELETE ALL INPUT RMAN сотрет каждый зарезервированный файл архивного журнала транзакций со всех мест назначения, куда архивируются журналы.

Например, предположим, что журналы архивируются в /arc_dest1, /arc_dest2 и /arc_dest3, и Вы выполняете следующую команду:

BACKUP DEVICE TYPE sbt 
  ARCHIVELOG ALL 
  DELETE ALL INPUT;

В этом случае RMAN делает бэкап только одной копии каждого порядкового номера журнала в этих каталогах, а затем стирает все копии всех журналов, которые он зарезервировал, – со всех мест назначения архивации. Если бы Вы указали DELETE INPUT, а не DELETE ALL INPUT, то RMAN стер бы только определенные файлы архивных журналов транзакций, которые он зарезервировал (например, он стер бы файлы архивных журналов транзакций в /arc_dest1, если бы это были файлы, используемые в качестве источника резервного копирования, но оставил бы содержимое /arc_dest2 и /arc_dest3 нетронутым).

Если Вы выпускаете BACKUP ARCHIVELOG ALL или BACKUP ARCHIVELOG LIKE ‘…’ и нет никаких архивных файлов журналов транзакций для резервирования, RMAN не сообщает об ошибке.

Резервирование Журналов с помощью BACKUP … PLUS ARCHIVELOG

Можно добавить архивные журналы транзакций в резервные копии других файлов при помощи предложения BACKUP … PLUS ARCHIVELOG. Добавление BACKUP … PLUS ARCHIVELOG приводит к тому, что RMAN выполняет следующие шаги:

  1. Запускает команду ALTER SYSTEM ARCHIVE LOG CURRENT.
  2. Запускает BACKUP ARCHIVELOG ALL. Заметьте, что при включенной оптимизации резервирования диспетчер восстановления пропускает журналы, которые уже были зарезервированы на указанное устройство.
  3. Резервирует оставшиеся файлы, указанные в команде BACKUP.
  4. Запускает команду ALTER SYSTEM ARCHIVE LOG CURRENT.
  5. Резервирует все остальные архивные журналы, сгенерированные во время бэкапа.

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

Чтобы сделать бэкап архивных журналов транзакций с помощью BACKUP … PLUS ARCHIVELOG:

После запуска RMAN, выполните команду BACKUP … PLUS ARCHIVELOG в командной строке RMAN. Этот пример резервирует базу данных и все архивные журналы:

BACKUP DEVICE TYPE sbt
  DATABASE PLUS ARCHIVELOG;

Примечание:
Если включена оптимизация резервирования, RMAN пропускает резервные копии архивных журналов, которые были уже зарезервированы на указанное устройство.

Спасибо за внимание! До скорых встреч на страницах сайта okITgo.ru.

Рубрика: Oracle