Открыть сервис

Data Guard Broker

Data Guard Broker — это программный компонент системы управления базами данных Oracle Database, предназначенный для автоматизации и централизованного управления конфигурациями Data Guard. Data Guard Broker предоставляет интерфейс командной строки (DGMGRL) и графический интерфейс (Oracle Enterprise Manager) для создания, настройки, мониторинга и обслуживания конфигураций резервных баз данных, реализующих схемы физической или логической репликации.

История

Data Guard Broker был впервые представлен в Oracle Database 9i (2001 год) как часть функциональности Oracle Data Guard. Разработка была направлена на упрощение администрирования решений по обеспечению отказоустойчивости и аварийного восстановления (Disaster Recovery), которые ранее требовали ручного выполнения сложных команд SQL и PL/SQL. В последующих версиях (10g, 11g, 12c, 18c, 19c, 21c) функциональность Broker была расширена: добавлена поддержка быстрого переключения ролей (Fast-Start Failover), автоматического восстановления после сбоев, управления наблюдателями (Observer) и интеграция с Oracle RAC (Real Application Clusters).

Архитектура и компоненты

Конфигурация Data Guard

Data Guard Broker оперирует понятием «конфигурация» (configuration), которая включает одну первичную базу данных (primary database) и одну или несколько резервных (standby databases). Каждая база данных в конфигурации называется «участником» (member). Broker хранит метаданные о конфигурации в файле конфигурации (dg_broker_config_file1, dg_broker_config_file2), который синхронизируется между всеми участниками.

Процессы

  • DMON (Data Guard Monitor) — фоновый процесс, запускаемый на каждом экземпляре базы данных, входящем в конфигурацию. DMON отвечает за связь с Broker, выполнение команд, мониторинг состояния и управление переключениями ролей.
  • Observer — отдельный процесс (может быть запущен на клиентской машине или на сервере), который отслеживает доступность первичной базы данных. При обнаружении сбоя Observer инициирует автоматическое переключение на резервную базу (Fast-Start Failover), если эта функция включена.

Интерфейсы

  • DGMGRLкомандная строка (CLI) для управления Broker. Поддерживает команды для создания, проверки, переключения, мониторинга и устранения неполадок конфигурации.
  • Oracle Enterprise Manager (OEM)графический интерфейс, встроенный в Oracle Enterprise Manager Cloud Control, предоставляющий визуальное представление топологии, статусов и метрик.

Функциональные возможности

Автоматизация управления

Broker автоматизирует выполнение рутинных операций:

  • Создание конфигурации — автоматическая настройка параметров репликации (например, LOG_ARCHIVE_DEST_n, FAL_SERVER, DB_UNIQUE_NAME) на основе заданных политик.
  • Переключение ролей (Switchover) — плановое переключение ролей между первичной и резервной базами без потери данных. Broker координирует завершение транзакций, синхронизацию и смену ролей на всех участниках.
  • Аварийное переключение (Failover) — принудительное переключение на резервную базу при потере первичной. Broker поддерживает как ручной, так и автоматический режим (Fast-Start Failover).
  • Восстановление после сбоевавтоматическое восстановление резервной базы после переключения или ошибок репликации.

Мониторинг и диагностика

  • Команда SHOW CONFIGURATION — отображает общее состояние конфигурации, статус каждого участника (PRIMARY, PHYSICAL STANDBY, LOGICAL STANDBY, SNAPSHOT STANDBY), задержку репликации и ошибки.
  • Команда SHOW DATABASE — предоставляет детальную информацию о конкретной базе: режим защиты, статус транспорта журналов, статус применения, версия Data Guard, параметры Fast-Start Failover.
  • Команда VALIDATE DATABASE — проверяет корректность конфигурации и готовность к переключению.

Управление наблюдателем (Observer)

Observer — это процесс, который может быть запущен на отдельном сервере (или на резервной базе) для обеспечения автоматического переключения. Broker управляет настройками Observer, включая:

  • порог времени ожидания (FastStartFailoverThreshold);
  • список целевых баз для переключения;
  • режим наблюдателя (Standalone или RAC-совместимый).

Режимы защиты и типы резервных баз

Data Guard Broker поддерживает три режима защиты, которые настраиваются через Broker:

  • Maximum Protection — максимальная защита: транзакция не подтверждается, пока данные не записаны как минимум на одну синхронную резервную базу. Требует синхронной репликации (SYNC).
  • Maximum Availability — максимальная доступность: транзакция подтверждается после записи на синхронную резервную базу, но при недоступности резервной базы первичная продолжает работу (переход в асинхронный режим).
  • Maximum Performance — максимальная производительность: транзакция подтверждается сразу, репликация асинхронная (ASYNC).

Broker также управляет типами резервных баз:

  • Physical Standby — точная блочная копия первичной базы, поддерживается в режиме Redo Apply.
  • Logical Standby — база данных, в которую данные переносятся через SQL-преобразования (SQL Apply).
  • Snapshot Standby — временная read-write копия, которая может быть преобразована обратно в Physical Standby.

Применение

Data Guard Broker широко используется в корпоративных средах для обеспечения отказоустойчивости и аварийного восстановления. Основные сценарии:

  • Disaster Recovery — географически распределённые центры обработки данных (ЦОД) с автоматическим переключением при сбое основного ЦОДа.
  • Плановое обслуживание — переключение на резервную базу для обновления ПО, замены оборудования или миграции данных.
  • Тестирование и разработка — использование Snapshot Standby для создания тестовых сред без дублирования данных.
  • Балансировка нагрузки — использование физических резервных баз для выполнения отчётов и запросов только для чтения (Read-Only mode).

Критика и ограничения

  • Сложность настройки — несмотря на автоматизацию, начальная конфигурация Broker требует глубокого понимания архитектуры Data Guard и Oracle Database.
  • Зависимость от версии — некоторые функции (например, Fast-Start Failover с Observer) доступны только в редакции Enterprise Edition и требуют лицензии Oracle Data Guard.
  • Ограниченная совместимость — Broker не поддерживает конфигурации с использованием Oracle Data Guard Far Sync, а также некоторые старые версии Oracle Database (до 9i).
  • Проблемы с Observer — в случае сбоя самого Observer автоматическое переключение может не сработать, что требует резервирования наблюдателя.

Интересные факты

  • Data Guard Broker может управлять конфигурациями, включающими до 30 резервных баз данных.
  • В Oracle Database 12c и выше Broker поддерживает работу с контейнерными базами данных (CDB) и подключаемыми базами данных (PDB) в архитектуре Multitenant.
  • Команда DGMGRL может быть использована в скриптах для автоматизации операций, например, в средах с использованием Ansible или Terraform.

Источники

  • Oracle Database Data Guard Broker Concepts and Administration Guide (Oracle Corporation)
  • Oracle Database SQL Language Reference
  • Oracle Database Administrator’s Guide
  • Oracle Data Guard 11g Handbook (Robert G. Freeman)
  • Oracle Database 19c Data Guard Documentation

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →