Настройка FRA для RMAN – ч.2 – выбор оптимального размера FRA (Мгновенной Области Восстановления) Oracle

Рубрика: Oracle

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

Настройка Параметров Инициализации для Размера и Расположения Мгновенной Области Восстановления

Чтобы задействовать мгновенную область восстановления, Вы должны установить два параметра инициализации DB_RECOVERY_FILE_DEST_SIZE (который определяет дисковую квоту, или максимальное пространство, используемое для файлов FRA этой базы данных) и DB_RECOVERY_FILE_DEST (который указывает местоположение для FRA).

Замечание:
  • DB_RECOVERY_FILE_DEST_SIZE должен быть установлен перед DB_RECOVERY_FILE_DEST.
  • В базе данных RAC все экземпляры должны иметь одни и те же значения для этих параметров.

Параметры инициализации могут быть указаны любым из следующих способов:

  • Включить их в файл параметов инициализации для целевой базы данных
  • Указать их в SQL предложении ALTER SYSTEM SET
  • Использовать Помошник Конфигурирования БД, чтобы установить их

Чтобы найти текущее местоположение мгновенной области восстановления, сделайте запрос к представлению V$RECOVERY_FILE_DEST.

Размер Мгновенной Области Восстановления: DB_RECOVERY_FILE_DEST_SIZE

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

Замечание:
Указываемые значения не включает определенные виды дисковых накладных расходов:
  • Блок 0 или блок заголовка ОС каждого файла Oracle не включается в этот размер. Выделите дополнительные 10% для этой информации при вычислении фактического использования диска, требуемого для FRA.
  • DB_RECOVERY_FILE_DEST_SIZE не определяет реальный размер, занимаемый на диске, когда лежащая в основе файловая система зеркалируется, сжимается или каким-либо другим образом подвергается влиянию накладных расходов, не известных Oracle. Например, если Вы можете сконфигурировать FRA на обычную избыточность (2-стороннее зеркалирование) дисковой группы ASM, каждый файл размером X байтов занимает 2X байтов в дисковой группе ASM. В таком случае, DB_RECOVERY_FILE_DEST_SIZE должен быть установлен в не более чем 1/2 размера дисков для дисковой группы ASM. Аналогично, при использовании сверх избыточности (трехстороннее зеркалирование) дисковой группы ASM, DB_RECOVERY_FILE_DEST_SIZE должен быть не более чем 1/3 размера дисков в этой дисковой группе, и так далее.

Расположение Мгновенной Области Восстановления: Параметр Инициализации DB_RECOVERY_FILE_DEST

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

Разделение Мгновенной Области Восстановления Между Несколькими Базами Данных

Несколько баз данных могут иметь одно и то же значение для DB_RECOVERY_FILE_DEST, если выполняется одно из следующих условий:

  • Никакие две базы данных, для которых указано DB_UNIQUE_NAME, не имеют одно и то же значение для DB_UNIQUE_NAME.
  • Для тех баз данных, где не указано DB_UNIQUE_NAME, никакие две базы данных не имеют одно и то же значение для DB_NAME.

Например, Вы могли бы установить основную (главную) и резервную базы данных, которые бы разделяли одно и то же местоположение, указанное в DB_RECOVERY_FILE_DEST. Эти две базы данных будут иметь одно и то же DB_NAME, но одна из них должна иметь DB_UNIQUE_NAME, отличное от DB_NAME.

Когда базы данных разделяют одну мгновенную область восстановления подобным образом, файловая система или дисковая группа ASM, содержащая FRA, должна быть достаточно большой, чтобы вместить все файлы восстановления для всех баз данных. Сложите все значения DB_RECOVERY_FILE_DEST_SIZE для различных баз данных, а затем допустите любые возможные накладные расходы, такие как зеркалирование или сжатие, при распределении фактического дискового пространства, как описано выше (“Размер Мгновенной Области Восстановления: DB_RECOVERY_FILE_DEST_SIZE”).

Ограничения на Параметры Инициализации При Использовании Мгновенной Области Восстановления

Использование мгновенной области восстановления имеет последствия для некоторых других параметров инициализации:

  • Вы не можете использовать параметры LOG_ARCHIVE_DEST и LOG_ARCHIVE_DUPLEX_DEST для указания местоназначений архивных журналов транзакций. Вы должны вместо этого использовать более новые параметры LOG_ARCHIVE_DEST_n.
  • LOG_ARCHIVE_DEST_10 неявно устанавливается в USE_DB_RECOVERY_FILE_DEST (означая, что архивные redo-журналы будут посылаться в мгновенную область восстановления), если вы создаете область восстановления и не устанавливаете какие-либо другие локальные архивные местоназначения.
  • Корпорация Oracle рекомендует, чтобы DB_RECOVERY_FILE_DEST не был таким же, как DB_CREATE_FILE_DEST или любой из параметров DB_CREATE_ONLINE_LOG_DEST_n. В журнале предупреждений появится предупреждение, если DB_RECOVERY_FILE_DEST имеет то же значение, что один из других параметров, перечисленных здесь.

Добавление Мгновенной Области Восстановления к Существующей Базе Данных

Чтобы создать мгновенную область восстановления, Вы можете установить необходимые параметры в файле параметров инициализации (PFILE) и перезапустить базу данных. Вы также можете установить параметры инициализации DB_RECOVERY_FILE_DEST и DB_RECOVERY_FILE_DEST_SIZE, используя ALTER SYSTEM, чтобы добавить FRA к открытой базе данных, как показано в этом примере.

Замечание:
DB_RECOVERY_FILE_DEST_SIZE должен быть установлен до DB_RECOVERY_FILE_DEST.
  1. После того, как Вы запустите SQL*Plus и подключитесь к базе данных, установите размер мгновенной области восстановления. Например, установите его в 10 ГБ:
    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G
      SCOPE=BOTH SID='*';
    Установка SCOPE в BOTH делает изменение как в памяти, так и в файле параметров сервера. (Установка SID в “*” не возымеет эффекта в одноэкземплярной базе данных; в базе RAC это приведет к тому, что изменение затронет все экземпляры.)
  2. Установите местоположение мгновенной области восстановления. Например, если местоположение является директорией файловой системы
    /disk1/flash_recovery_area, то Вы можете сделать следующее:
    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST =
      '/disk1/flash_recovery_area' SCOPE=BOTH SID='*';
    Если расположение FRA является дисковой группой Автоматического Управления Хранилищем под названием disk1, к примеру, то Вы можете проделать следующее:
    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '+disk1'
      SCOPE=BOTH SID='*';

Использование V$RECOVERY_FILE_DEST и V$FLASH_RECOVERY_AREA_USAGE

Представления V$RECOVERY_FILE_DEST и V$FLASH_RECOVERY_AREA_USAGE могут помочь Вам определить, достаточно ли места Вы выделили под вашу мгновенную область восстановления.

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

SQL> SELECT * FROM V$RECOVERY_FILE_DEST;

NAME            SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
--------------  ----------- ---------- ----------------- ---------------
/mydisk/rcva     5368709120 109240320             256000              28

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

SQL> SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                   0                         0               0
ONLINELOG                     2                         0              22
ARCHIVELOG                 4.05                      2.01              31
BACKUPPIECE                3.94                      3.86               8
IMAGECOPY                 15.64                     10.43              66
FLASHBACKLOG                .08                         0               1

Выключение Мгновенной Области Восстановления

Чтобы выключить мгновенную область восстановления, установите параметр инициализации DB_RECOVERY_FILE_DEST в пустую строку. Например, используйте такое предложение SQL*Plus для изменения параметра на запущенной базе данных:

АLTER SYSTEM SET DB_RECOVERY_FILE_DEST='' SCOPE=BOTH SID="*";

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

В следующем посте рубрики Оракл мы продолжим рассматривать настройки FRA. Спасибо за внимание! До скорых встреч на страницах сайта okITgo.ru.

Рубрика: Oracle