Executar um failover após perder o primário (DGMGRL)
OracleData GuardComando
# 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;O que faz
Promove o standby ao papel de primário quando o primário está indisponível; um failover completo aplica antes todo o redo recebido, IMMEDIATE pula a aplicação.
Quando usar
Quando o site primário, o storage ou o banco foram perdidos sem possibilidade de recuperação e o RTO não permite esperar por um switchover.
Atenção
Esta troca de papel é irreversível. Antes, confirme que o primário está REALMENTE fora; se o antigo primário continuar aberto e a aplicação seguir gravando nele, ocorre split-brain e dados divergentes (desligue/isole o antigo primário). No modo MaxPerformance você perde tantos dados quanto o transport lag. Depois, revise todos os standbys e a estratégia de backup do novo primário.
Relacionados
- Mostrar a configuração do Data Guard broker e o status dos bancos (DGMGRL)
- Verificar o papel primary/standby e a prontidão para switchover com SQL
- Medir o lag de transporte/aplicação, a taxa de aplicação e os processos do Data Guard no standby
- Validar o standby com o broker antes de switchover/failover (VALIDATE DATABASE)
- Executar um switchover planejado (DGMGRL, troca de papel sem perda de dados)
- Recuperar o antigo primário como standby após um failover (REINSTATE)