Validar Prontidão para DR

Revise as melhores práticas para preparação para recuperação de desastres e verifique sua configuração de recuperação de desastres para eventos planejados e não planejados.

Sobre a Preparação para DR

Analise as melhores práticas para a prontidão para recuperação de desastres (DR).

Use o Active Data Guard para descarregar a carga de trabalho somente leitura para o banco de dados stand-by para fornecer uma validação contínua no nível da aplicação de que o stand-by está pronto para produção. Isso fornece um nível de garantia, além da validação contínua em nível de bloco do Oracle executada pelos processos de aplicação do Oracle Data Guard.

Use um banco de dados stand-by de snapshot para criar uma réplica exata de um banco de dados de produção para fins de desenvolvimento e teste. Coloque periodicamente o stand-by no modo de leitura/gravação (usando o Data Guard Snapshot Standby) para validar sua prontidão para suportar cargas de trabalho de produção de leitura-gravação. Um snapshot stand-by também pode ser usado para um nível final de teste funcional e de desempenho de patches e upgrades, pois o tamanho do sistema DR é semelhante ao sistema de produção. Um Stand-by de Snapshot continua a receber redo do banco de dados principal no qual ele é arquivado para uso posterior, que fornece proteção de dados em todos os momentos. No entanto, o Tempo de Recuperação (RTO) será estendido pelo tempo necessário para converter o Stand-by de Snapshot de volta para o banco de dados stand-by se um failover for necessário durante o teste em andamento. O armazenamento adicional é necessário para a área de recuperação rápida quando um stand-by está no modo de snapshot (para manter redo arquivado recebido do banco de dados de produção principal para uso posterior e redo atual e logs de flashback gerados pelo stand-by de snapshot).

Veja a seguir alguns dos benefícios do uso de um banco de dados stand-by de snapshot:

  • Ele fornece uma réplica exata de um banco de dados de produção para desenvolvimento e teste, mantendo sempre a proteção de dados. Você pode usar a opção Oracle Real Application Testing para capturar a carga de trabalho do banco de dados principal e, em seguida, repeti-la para fins de teste no stand-by de snapshot.
  • É facilmente atualizado para conter dados de produção atuais, convertendo-se em um stand-by físico e ressincronizando.

Converter o Banco de Dados Stand-by em Stand-by Snapshot

Quando quiser uma réplica exata de um banco de dados de produção, você poderá usar o Oracle Data Guard Broker para converter o banco de dados físico stand-by em banco de dados stand-by snapshot e validar o failover.

Um stand-by de snapshot é um banco de dados stand-by totalmente atualizável que é criado com base em um banco de dados stand-by físico. Nos bancos de dados stand-by snapshot, os dados redo são recebidos, mas não aplicados até que o banco de dados stand-by snapshot seja convertido novamente em banco de dados stand-by físico.

Veja a seguir alguns benefícios para o uso de um banco de dados stand-by snapshot:

  • O stand-by snapshot fornece uma réplica exata de um banco de dados de produção para fins de desenvolvimento e teste, mantendo sempre a proteção de dados. Você pode usar a opção Oracle Real Application Testing para capturar a carga de trabalho do banco de dados principal e depois repeti-la para fins de teste no stand-by de snapshot.
  • Você pode atualizar facilmente o stand-by de snapshot para conter dados de produção atuais convertendo-os em stand-by físico e ressincronizando-o.

A interface de linha de comando do Oracle Data Guard (DGMGRL) permite que você gerencie uma configuração de broker do Oracle Data Guard e seus vários membros diretamente na interface de linha de comando.

  1. Efetue log-in em uma sessão DGMGRL na instância do banco de dados stand-by com o nome de usuário e a senha sys.
    [oracle@exa11db01 ~]$ dgmgrl
    DGMRGL> connect
    Username: sys
    Password:
  2. Exiba a configuração para confirmar os bancos de dados principal e stand-by.
    DGMGRL> show configuration;
    A saída será semelhante à seguinte:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 108 seconds ago)
  3. Converta o banco de dados stand-by físico em um banco de dados stand-by de snapshot.
    Neste exemplo, o standby_database_unique_name é db1.
    DGMGRL> convert database standby_database_unique_name to snapshot standby;
    Quando a conversão estiver concluída, a saída terá uma linha semelhante à seguinte:
    Converting database "db1" to a Snapshot Standby database, please wait...
    Database "db1" converted successfully
  4. Exiba a configuração para verificar a conversão.
    DGMGRL> show configuration;
    A saída será semelhante à seguinte:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Snapshot standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 59 seconds ago)
  5. Converta o stand-by de snapshot em um banco de dados stand-by físico.
    DGMGRL> convert database standby_database_unique_name to physical standby;
    A saída será semelhante à seguinte:
    Converting database "db1" to a Physical Standby database, please wait...
    Operation requires a connection to database "db1_phx3g7"
    Connecting ...
    Connected to "DB1_phx3g7"
    Connected as SYSDBA.
    Oracle Clusterware is restarting database "db1" ...
    Connected to "db1"
    Connected to "db1"
    Continuing to convert database "db1" ...
    Database "db1" converted successfully
  6. Exiba a configuração para verificar a conversão.
    DGMGRL> show configuration;
    A saída será semelhante à seguinte:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    ERROR   (status updated 20 seconds ago)
    DGMGRL>

Definir os Parâmetros do Oracle Data Guard

Antes de executar um switchover, defina os parâmetros Oracle Data Guard nas instâncias do banco de dados principal e stand-by.

  1. No banco de dados principal local, verifique o número de alteração do sistema (SCN).
    select standby_became_primary_scn from v$database;
    A saída será semelhante à seguinte:
    STANDBY_BECAME_PRIMARY_SCN
    --------------------------
    0
  2. Verifique se o flashback não está ativado no banco de dados principal.
    select flashback_on from v$database;
    A saída será semelhante à seguinte:
    FLASHBACK_ON
    ------------------
    NO
  3. Exiba a recuperação do parâmetro.
    SQL> show parameter recovery;
    A saída será semelhante à seguinte:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest	     string	      +RECOC1
    db_recovery_file_dest_size	big integer	  8256M
    recovery_parallelism             integer             0
    remote_recovery_file_dest        string
  4. Defina o tamanho do parâmetro DB_RECOVERY_FILE_DEST_SIZE para atender ao tamanho do banco de dados.
    O exemplo a seguir usa 20G como tamanho de dados de amostra. Defina o tamanho dos dados com base no seu banco de dados.
    SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20G;
  5. Ativar flashback no banco de dados principal.
    SQL> alter database flashback on;
  6. Confirme se o flashback do banco de dados está ativado (ativado).
    SQL> select flashback_on from v$database;
    A saída será semelhante à seguinte:
    FLASHBACK_ON
    ------------------
    YES
  7. No Oracle Database Exadata Cloud Service stand-by, determine se o flashback está ativado.
    SQL> select flashback_on from v$database;
    A saída será semelhante à seguinte:
    FLASHBACK_ON
    ------------------
    NO
  8. Consulte o status do modo aberto do banco de dados stand-by na nuvem.
    SQL> select open_mode from v$database;
    A saída será semelhante à seguinte:
    OPEN_MODE
    -------------------- 
    MOUNTED
  9. Cancelar recuperação do banco de dados stand-by.
    SQL> alter database recover managed standby database cancel;
  10. Defina o flashback na instância do banco de dados na nuvem.
    SQL> alter database flashback on;
  11. Desconecte o stand-by da sessão.
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Database altered
  12. Confirme se o flashback do banco de dados está ativado (ativado).
    SQL> select flashback_on from v$database;
    FLASHBACK_ON
    ------------------
    YES
  13. Exiba os parâmetros de retenção.
    SQL> show parameter_retention;
    A saída será semelhante à seguinte:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_flashback_retention_target	     integer	 1440
    undo_retention			      integer	 900