DBAtlas · Атлас эксплуатации баз данных

Выполнить 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.

Открыть в DBAtlas →

Связанные материалы