DBAtlas · Atlas de operações de banco de dados

Recuperar o antigo primário como standby após um failover (REINSTATE)

OracleData Guard

Comando

# 1) Bring the old primary to MOUNT (sqlplus / as sysdba):
#    SQL> STARTUP MOUNT;
#    (RAC: srvctl start database -db <old_primary_db_unique_name> -startoption mount)
# 2) From DGMGRL connected to the new primary:
dgmgrl sys@<new_primary_db_unique_name>
REINSTATE DATABASE '<old_primary_db_unique_name>';
# 3) Verify:
SHOW CONFIGURATION;
SHOW DATABASE '<old_primary_db_unique_name>';

O que faz

Retorna o antigo primário a um ponto anterior ao SCN do failover com flashback database, converte-o em physical standby e começa a receber redo do novo primário; não é preciso recriar o standby do zero.

Quando usar

Após um failover, assim que o servidor/storage do antigo primário voltar a ficar acessível; após um failover automático do FSFO (o observer normalmente faz o reinstate sozinho).

Atenção

O flashback precisa ter sido habilitado no antigo primário ANTES do failover e os flashback logs devem cobrir o SCN do failover (db_flashback_retention_target, tamanho da FRA); caso contrário o reinstate falha e o standby precisa ser recriado com RMAN duplicate. Os dados gravados no antigo primário após o failover são perdidos definitivamente.

Abrir no DBAtlas →

Relacionados