XS
SM
MD
LG
 
ВАШЕ ИМЯ *
ТЕЛЕФОН *
Перезвоните мне

Технология Oracle Data Guard

Определение Oracle Data Guard 

Это технология использования журналов изменений (redo logs) для поддержки в актуальном состояниие удаленной копии (Standby) основной (Primary) БД. Два основных вида этой технологии это

  • Physical Standby - основана на применении к физической копии БД. Идентификатор БД DBID для Standby базы такой же, как у Primary
  • Logical Standby - основана на выполнении DML - SQL операторов извлеченных из журналов изменений (redo logs) на логической копии основной БД. Конвертация полученных данных redo осуществляется на резервной базе данных с использованием технологии Logminer.

Оба вида резервной базы данных (Physical Standby и Logical Standby) используют:

  • Log Transport Services
  • Log Apply Services

 Терминология

  • Failover - принудительная активация Standby базы при выходе из стороя Primary
  • Primary Database - БД выполняющая роль основной
  • Standby Database - БД выполняющая роль резервной
  • Switchover - операция взаимной смены ролей Primary и Standby БД
  • standby redo logs - журналы изменений принятых Standby базой с Primary базы. Поддеживаются только для Physical Standby в версии 9i и для обеих технологий (Physical и Logical Standby) в версии 10g. Позволяют записывать изменения на Standby БД одновременно с записью изменений в оперативные журналы (online redo logs) на Primary БД. Используются только в случае когда архивация журналов на удаленную БД осуществляется процессом LGWR.

 Преимущества 

Технология Data Guard позволяет увеличить надежность хранения данных в БД и минимизировать время простоя в случае сбоя сервера основной БД.

  • Основную и резервные БД можно распределять географически, что позволяет создавать катастрофо-устойчивые системы.
  • Технологию Data Guard можно рассматривать как один из методов резервирования данных.
  • Технология SQL Apply которая используется для logical standby успешно применяется для рапределения и репликации данных.

 Ограничения  Общие ограничения в версии 10g 

Согласно документации Oracle Data Guard Concepts and Administration 10g Release 2 (10.2)  (1) технология Data Guard имеет определенные ограничения и требования к апаратному и программному обеспечению.  Требования к аппаратной части и операционной системе (ОС) В разделе "Hardware and Operating System Requirements" (1) изложены следующие требования к аппаратной части и ОС:

  • все участники конфигурации Oracle Data Guard должны быть на базе одной платформы
  • аппаратная конфигурация оборудования (например, количество процессоров, обьем оперативной памяти, конфигурация дисковой системы) на primary и на standby системе может отличаться. Standby система может быть менее мощной чем primary, но ее ресурсов должно быть достаточно, чтобы успевать применять изменения - redo data полученные с primary системы. На логической standby базе данных, ресурсов системы должно быть достаточно для трансляции изменений (redo data) в команды SQL и их выполнения.
  • Операционная система на primary и на standby системе должна быть одинаковой, но версии операционной системы могут отличаться. Кроме того на standby системе может отличаться структра каталогов файловой системы.

 Требование к ПО Oracle В разделе  "Oracle Software Requirements" (1) определены требования к программному обеспечению (ПО) Oracle:

  • Технология Oracle Data Guard доступна только в редакции Oracle Database Enterprise Edition. Версия ПО Oracle должна быть одинаковой на primary и на standby системе.
  • Используя Data Guard SQL Apply возможно производить установку пакета обновлений - Patch Set при помощи технологии rolling upgrade. При этом, в процессе обновления, версии ПО Oracle на primary и логической standby могут отличаться.
  • Параметр инициализации COMPATIBLE должен иметь одинаковое значение на всех базах данных в конфигурации Data Guard
  • Primary база данных должна работать в режиме ARCHIVELOG
  • Primary база данных может быть в обычной конфигурации (с одним экземпляром) и в кластерной конфигурации (Real Application Cluster). Standby база данных также может быть в обычной конфигурации (с одним экземпляром) и в кластерной конфигурации.
  • Каждая primary и standby база данных должна иметь собственный управляющий файл (control file)
  • Если standby база данных расположена на одной системе с primary database, каталоги архивации журналов для standby базы данных должы отличаться от primary.
  • Для защиты от нежурналируемых изменений (который не могут передаваться на standby), на primary база данных необходимо включить режим FORCE LOGGING до начала создания standby базы данных.Режим FORCE LOGGING должен оставаться включенным до тех пор пока нужна standby база данных.
  • Учетная запись использующаяся для управления primary и standby базами данных должна иметь привилегию SYSDBA
  • При использовании Automatic Storage Management (ASM) и Oracle Managed Files (OMF) Oracle рекомендует делать симметричную установку на primary и на standby системе.

 Некоторые Отступления от требований документации.

  • Согласно данным статьи Data Guard Support for Heterogeneous Primary and Standby Systems in Same Data Guard Configuration на metalink.oracle.com допускается использование некоторых сочетаний различных платформ на primary и standby базах данных. Там же опубликована таблица таких сочетаний.
  • Кроме того, для физической standby базы данных, допускается использование комбинаций 32-битной и 64-битной платфом с одинаковой операционной системой. Логическая standby база данных требует использования платфомы такой же битности что и для primary. В документе  Note:414043.1 Role Transitions for Data Guard Configurations Using Mixed Oracle Binaries на metalink.oracle.com описаны дополнительные действия которые нужно выполнить при переключения ролей (с primary на standby и наоборот) в случае использования платформ разной битности для физической primary и standby базы данных. Еще одно ограничение - в такой конфигурации нельзя использовать Data Guard Broker.

 Ограничения Logical Standby 

Согласно разделу "Logical Standby Databases" документации (1) логические standby базы данных имеют ограничения на некоторые типы данных, типов обьектов и типов DDL и DML операций. В документации (см. Приложение C), дан перечень таких типов и методы проверки базы данных на их наличие.