Failovers Não Planejados

Um failover é um evento não planejado que pressupõe que o banco de dados principal seja perdido. O banco de dados stand-by é convertido em um banco de dados principal imediatamente após todos os dados redo disponíveis do banco de dados principal serem aplicados.

Recuperar de um Failover Não Planejado

Um failover é um evento não planejado que pressupõe que o banco de dados principal seja perdido. O banco de dados stand-by é convertido em um banco de dados principal imediatamente após todos os logs redo principais disponíveis serem aplicados. Você pode usar o flashback e o Oracle Data Guard Broker para restabelecer o banco de dados principal original como stand-by físico.

Após um failover, o banco de dados principal original deve ser restabelecido como stand-by físico. Reintegrar o banco de dados principal original é mais fácil quando você tem o banco de dados de flashback e o Oracle Data Guard Broker ativado.
A etapa 3 neste exemplo faz shutdown do banco de dados local principal para imitar uma paralisação não planejada. Este exemplo usa o Oracle Data Guard Broker para restabelecer o banco de dados principal.
  • Banco de dados local: db1
  • instância do banco de dados standby físico na nuvem: db1_phx3g7
  1. No Oracle Exadata Database Machine local principal, efetue log-in como sysdba
  2. Exiba a configuração do banco de dados local.
    DGMGRL> show configuration;
    A saída deve ser semelhante à seguinte:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
        db1        - Primary database
        db1_phx3g7 - Physical standby database 
          Warning: ORA-16809: multiple warnings detected for the member
    Fast-Start Failover:  Disabled
    Configuration Status:
    WARNING   (status updated 36 seconds ago)
  3. Conecte-se à instância principal do banco de dados local e execute um shutdown para imitar uma paralisação não planejada.
    bash-4.2$ sqlplus / as sysdba
    SQL> shutdown abort;
    A saída deve ser semelhante à seguinte:
    ORACLE instance shut down.
  4. No Oracle Database Exadata Cloud Service, exiba a configuração da instância do banco de dados.
    DGMGRL> show configuration;
    A saída deve ser semelhante à seguinte:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1        - Primary database
        Error: ORA-12514: TNS:listener does not currently know of service requested in 
    connect descriptor
        db1_phx3g7 - Physical standby database 
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 0 seconds ago)
  5. Inicie o failover na instância do Oracle Database Exadata Cloud Service.
    DGMGRL> > failover to db1_phx3g7;
    A saída deve ser semelhante à seguinte:
    Performing failover NOW, please wait...
    Failover succeeded, new primary is "db1_phx3g7"
  6. Exiba a configuração da instância do banco de dados no Oracle Database Exadata Cloud Service.
    DGMGRL> show configuration;
    A saída deve ser semelhante à seguinte:
    Configuration - onpremexadr
    
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        Warning: ORA-16809: multiple warnings detected for the member
        db1        - Physical standby database (disabled)
          ORA-16661: the standby database needs to be reinstated
    Fast-Start Failover:  Disabled
    Configuration Status:
    WARNING   (status updated 28 seconds ago)
  7. No db1 (Oracle Exadata Database Machine local), que agora é Stand-by, inicie a instância em um nó.
    $srvctl start instance -db db1 -instance db11
  8. Use o comando reinstate database para tornar o banco de dados stand-by principal desativado.
    Um reinstate torna o banco de dados stand-by principal antigo e desativado, permitindo que ele receba dados redo do novo banco de dados principal (o banco de dados stand-by ativado).
    DGMGRL> reinstate database db1;
    A saída deve ser semelhante à seguinte:
    Reinstating database
            "db1", please wait...Reinstatement of database "db1" succeeded
  9. Exibe a configuração da instância do banco de dados local.
    DGMGRL> show configuration;
    A saída deve ser semelhante à seguinte:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
    Fast-Start Failover:  Disabled
    Configuration Status:
    SUCCESS   (status updated 14 seconds ago)
  10. Alterne para o Oracle Exadata Database Machine local quando necessário.