Несколько примеров создания базы данных с использованием FRA, где будут храниться дисковые бэкапы RMAN, а также архивные журналы

Рубрика: Oracle

Приветствую, уважаемые посетители okITgo.ru! Продолжая рассказывать о настройке FRA (мгновенной области восстановления Oracle), я хотел бы привести несколько примеров создания базы данных и сценариев конфигурации FRA, чтобы наглядно продемонстрировать возможности Менеджера Восстановления RMAN в сочетании с применением области восстановления. Среди рассматриваемых в статье примеров также расскажу о создании БД с хранением архивных журналов транзакций в FRA и в целом о настройке дисковых бэкапов, которые будут создаваться в мгновенной области восстановления.


Конфигурирование Мгновенной Области Восстановления для Дисковых Бэкапов: Пример

В этом примере база данных конфигурируется следующим образом:

Стратегия бэкапа в этом примере основана на инкрементальных бэкапах. Контрольные файлы будут автоматически бэкапиться в FRA.

Мгновенная область восстановления устанавливается размером в 10ГБ – просранство, достаточное для автобэкапов контрольных файлов, инкрементального бэкапа уровня 0 базы данных целиком (который состоит из образных копий 3ГБ файлов данных), плюс несколько инкрементальных бэкапов 1-го уровня.

Чтобы реализовать эту стратегию, файл параметров содержит следующие записи:

DB_NAME=sample
# установить расположение текущих файлов данных:
DB_CREATE_FILE_DEST = '/u02/oradata/wrk_area'
# установить расположение контрольных файлов и
# онлайн журналов транзакций:
DB_CREATE_ONLINE_LOG_DEST_1 = '/u03/oradata/wrk_area'
DB_CREATE_ONLINE_LOG_DEST_2 = '/u04/oradata/wrk_area'
# установить расположение и размер FRA
DB_RECOVERY_FILE_DEST = '/u01/oradata/rcv_area'
DB_RECOVERY_FILE_DEST_SIZE = 10G

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

Как только целевая база данных будет запущена, следующие команды RMAN сконфигурируют политику сохранения, оптимизацию бэкапов и автобэкап контрольных файлов:

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Любые дисковые бэкапы теперь будут направляться в вашу мгновенную область восстановления.


Создание Базы Данных с Мультиплексированными Файлами в Мгновенной Области Восстановления: Сценарий

Предположим, что Вы хотите создать базу данных со следующими свойствами:

  • Контрольные файлы, файлы данных и онлайн журналы транзакций хранятся как файлы, управляемые Oracle в отдельной директории файловой системы.
  • Одна мультиплексированная копия контрольного файла хранятся в FRA
  • Мультиплексированные копии онлайн журналов транзакций хранятся в FRA
  • Онлайн redo журналы архивируются как в FRA, так и в другую файловую систему, разделенную с рабочей областью
  • Бэкапы RMAN направляются в FRA по умолчанию

Чтобы создать базу данных с мгновенной областью восстановления:

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

    # установка DB_NAME
    DB_NAME=sample
    # установка местоназначения для OMF файлов данных, контрольного файла и
    # онлайн журналов redo
    DB_CREATE_FILE_DEST = /u01/oradata/wrk_area/
    # установка местоназначений архивирования журналов в локацию файловой
    # системы и FRA
    LOG_ARCHIVE_DEST_1 = 'LOCATION=/arc_dest1'
    LOG_ARCHIVE_DEST_2 = 'LOCATION=USE_DB_RECOVERY_FILE_DEST'
    # мультиплексированные копии контрольного файла и онлайн журналов в FRA
    # бэкапы rman также пойдут в нее
    DB_RECOVERY_FILE_DEST = 'LOCATION=/u01/oradata/rcv_area'
    DB_RECOVERY_FILE_DEST_SIZE = 10G
    

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

  2. После того, как Вы установили параметры инициализации, создайте базу данных. Например, запустите SQL*Plus и введите:

    SQL> CREATE DATABASE sample;

    Предыдущее предложение имеет результатом следующие последствия:

    • Файлы данных создаются как файлы, управляемые Oracle в DB_CREATE_FILE_DEST.
    • Поскольку предложение LOGFILE не было включено, группы онлайн журналов создаются по умолчанию. Каждая группа имеет двух членов, один в DB_CREATE_FILE_DEST, другой в DB_RECOVERY_FILE_DEST.
    • Поскольку параметр CONTROL_FILES не был установлен, Oracle создает контрольный файл в DB_CREATE_FILE_DEST (основной) и DB_RECOVERY_FILE_DEST (мультиплексированную копию). В системе Linux, имена файлов могли бы выглядеть следующим образом:
      #primary ctlfile
      /u02/oradata/wrk_area/SAMPLE/controlfile/o1_mf_3ajeikm_.ctl
      #ctl file copy
      /u01/oradata/rcv_area/SAMPLE/controlfile/o1_mf_6adjkid_.ctl
      #log grp1, mem 1
      /u02/oradata/wrk_area/SAMPLE/logfile/o1_mf_0_orrm31z_.log
      #log grp 1 mem 2
      /u01/oradata/rcv_area/SAMPLE/logfile/o1_mf_1_ixfvm8w9).log
      # log grp2, mem 1
      /u02/oradata/wrk_area/SAMPLE/logfile/o1_mf_2_2xyz16am_.log
      #log grp 2, mem 2
      /u01/oradata/rcv_area/SAMPLE/logfile/o1_mf_2_q89tmp28_.log
      
    • Oracle использует LOG_ARCHIVE_DEST_1 и LOG_ARCHIVE_DEST_2 в качестве назначений для архивирования журналов транзакций. Архивные redo журналы создаются в мгновенной области восстановления, поскольку LOG_ARCHIVE_DEST_2 сконфигурировано в качестве расположения FRA.

      Поскольку Вы включили локальное местоназначение архивирования redo журнала, LOG_ARCHIVE_DEST_10 не устанавливается неявным образом в FRA.

      Имена файлам архивных журналов задаются как имена файлов, управляемых Oracle, которые не основаны на параметре LOG_ARCHIVE_FORMAT. К примеру, если Вы генерируете архивный журнал:
      ALTER SYSTEM ARCHIVE LOG CURRENT;

      Файл архивного журнала создается в основной локации архивирования, а также в следующей поддиректории FRA: /u01/oradata/rcv_area/SAMPLE/archivelog/YYYY_MM_DD

      где YYYY_MM_DD формат даты создания.
  3. Вы могли бы создать больше групп онлайн журналов транзакций для этой базы данных. Чтобы сделать это, используйте предложение ALTER DATABASE ADD LOGFILE в SQL*Plus. Когда имя файла не указывается, оно создает еще одного члена файла журнала в местоназначениях, уже указанных для онлайн журналов, включая FRA. Например, следующее предложение создает новую группу журналов с двумя членами: один в DB_CREATE_FILE_DEST и другой в DB_RECOVERY_FILE_DEST:

    ALTER DATABASE ADD LOGFILE;

Создание Базы Данных с Архивными Журналами Только в Мгновенной Области Восстановления: Сценарий

Предположим, что Вы хотите создать базу данных, в которой контрольные файлы, файлы данных и онлайн журналы транзакций являются файлами, управляемыми Oracle, в отдельной директории файловой системы. Дополнительно, Вы хотите сделать следующее:

  • Архивировать каждый журнал транзакций в FRA (и только в FRA)
  • Посылать бэкапы RMAN в FRA по умолчанию.

Чтобы создать базу данных с FRA:

  1. Установите подходящие параметры инициализации. Предположим, что Вы устанавливаете следующее:
    DB_NAME=sample
    DB_CREATE_FILE_DEST = '/u02/oradata/wrk_area'
    DB_RECOVERY_FILE_DEST = '/u01/oradata/rcv_area'
    DB_RECOVERY_FILE_DEST_SIZE = 10G
    # если Вы устанавливаете следующие параметры, то онлайн журналы redo *и*
    # текущий контрольный файл будут располагаться здесь
    DB_CREATE_ONLINE_LOG_DEST_1 = '/u03/oradata/wrk_area'
    DB_CREATE_ONLINE_LOG_DEST_2 = '/u04/oradata/wrk_area'
    
    Параметр DB_CREATE_FILE_DEST устанавливает директорию файловой системы по умолчанию для файлов данных. Параметр DB_CREATE_ONLINE_LOG_DEST_n устанавливает директории файловой системы по умолчанию для онлайн журналов транзакций и контрольных файлов. DB_RECOVERY_FILE_DEST устанавливает директорию файловой системы для архивных журналов.
  2. После того, как Вы установите параметры инициализации, создайте базу данных. Например, запустите SQL*Plus и введите:
    CREATE DATABASE sample;
    При такой настройке в FRA не будет создано мультиплексированных копий онлайн журналов и контрольных файлов.
  3. Поскольку Вы включили FRA, Oracle автоматически устанавливает LOG_ARCHIVE_DEST_10 в FRA. Имена файлов в FRA задаются именами файлов, управляемых Oracle и не базируются на параметре LOG_ARCHIVE_FORMAT. Например, сгенерируйте архивный журнал:
    ALTER SYSTEM ARCHIVE LOG CURRENT;
    В Linux, предыдущее предложение создает архивный журнал в поддиректории FRA: /u01/oradata/rcv_area/SAMPLE/archivelog/YYYY_MM_DD, где YYYY_MM_DD является форматом даты создания.
  4. Если Вам необходимо добавить больше групп онлайн журналов транзакций, выполните предложение ALTER DATABASE ADD LOGFILE. Когда имя файла не указывается, оно создает еще одного члена файла журнала в каждой локации DB_CREATE_ONLINE_LOG_DEST_n (но не FRA). Например, введите следующее:
    ALTER DATABASE ADD LOGFILE;
    В Linux, предыдущее предложение создает одного члена в /u03/oradata/wrk_area/SAMPLE/logfile и другого члена в /u04/oradata/wrk_area/SAMPLE/logfile. На других платформах, имена конкретного файла и директории зависят от платформы.

На этом наверное можно закончить рассказ о настройке FRA для хранения бэкапов RMAN, если у кого есть вопросы – спрашивайте! Желаю успехов в конфигурации БД Oracle, FRA и RMAN! До скорых встреч на страницах сайта okITgo.ru.

Рубрика: Oracle