Выполнить failover после потери primary (DGMGRL)
OracleData GuardКоманда
# Connect to the standby (the primary is unreachable):
dgmgrl sys@<standby_db_unique_name>
# 1) Assess the data that will be lost (Transport Lag / Apply Lag):
SHOW DATABASE '<standby_db_unique_name>';
# 2) Complete failover: all received redo is applied, then the role changes (recommended)
FAILOVER TO '<standby_db_unique_name>';
# 3) Emergency: immediately, without applying redo (more data loss)
# FAILOVER TO '<standby_db_unique_name>' IMMEDIATE;
SHOW CONFIGURATION;Что делает
Переводит standby в роль primary, когда primary недоступен; полный (complete) failover сначала применяет весь полученный redo, IMMEDIATE пропускает apply.
Когда использовать
Когда площадка, хранилище или база данных primary утрачены без возможности восстановления, а RTO не позволяет ждать switchover.
Внимание
Эта смена роли необратима. Сначала убедитесь, что primary ДЕЙСТВИТЕЛЬНО недоступен; если старый primary остаётся открытым и приложение продолжает в него писать, возникнет split-brain и расхождение данных (остановите/изолируйте старый primary). В режиме MaxPerformance теряется объём данных, равный transport lag. После этого пересмотрите все standby и стратегию бэкапов для нового primary.
Связанные материалы
- Показать конфигурацию брокера Data Guard и состояние баз данных (DGMGRL)
- Проверить роль primary/standby и готовность к switchover через SQL
- Измерить задержку transport/apply, скорость apply и процессы Data Guard на standby
- Проверить standby через брокер перед switchover/failover (VALIDATE DATABASE)
- Выполнить плановый switchover (DGMGRL, смена роли без потери данных)
- Восстановить старый primary как standby после failover (REINSTATE)