Verificar o papel primary/standby e a prontidão para switchover com SQL
OracleData GuardComando
SELECT name, db_unique_name, database_role, open_mode, protection_mode,
switchover_status, force_logging, flashback_on, dataguard_broker
FROM v$database;
-- State of redo destinations and gaps (on the primary):
SELECT dest_id, dest_name, status, type, database_mode,
recovery_mode, gap_status, error
FROM v$archive_dest_status
WHERE status <> 'INACTIVE';
-- Missing archivelog range on the standby:
SELECT thread#, low_sequence#, high_sequence# FROM v$archive_gap;O que faz
Mostra o papel do banco, o modo de abertura, o modo de proteção, o switchover_status (TO STANDBY / TO PRIMARY / SESSIONS ACTIVE / NOT ALLOWED), o estado de FORCE LOGGING e de flashback, além de erros e gaps dos destinos de redo.
Quando usar
Como pré-verificação antes de switchover/failover, após criar um novo standby e para monitoramento básico onde o broker não é usado.
Atenção
Somente leitura. Se FORCE_LOGGING=NO, operações NOLOGGING deixam blocos corrompidos no standby; ALTER DATABASE FORCE LOGGING deve estar habilitado em um primário Data Guard. Se FLASHBACK_ON=NO, o antigo primário não pode ser reinstaurado após um failover e precisa ser recriado.
Relacionados
- Mostrar a configuração do Data Guard broker e o status dos bancos (DGMGRL)
- 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)
- Executar um failover após perder o primário (DGMGRL)
- Recuperar o antigo primário como standby após um failover (REINSTATE)