Trabalhar com réplicas do Oracle para o RDS Custom para Oracle - Amazon Relational Database Service

Trabalhar com réplicas do Oracle para o RDS Custom para Oracle

Você pode criar réplicas do Oracle para instâncias de banco de dados do RDS Custom para Oracle. Há suporte para bancos de dados de contêiner (CDBs) e não CDBs. A criação de réplicas do RDS Custom para Oracle é semelhante à criação de réplicas do RDS para Oracle, mas apresenta diferenças importantes. Para obter informações gerais sobre como criar e gerenciar réplicas do Oracle, consulte Trabalhar com réplicas de leitura de instância de banco de dados e Trabalhar com réplicas de leitura do Amazon RDS para Oracle.

Visão geral da replicação do RDS Custom para Oracle

A arquitetura da replicação do RDS Custom para Oracle é análoga à replicação do RDS para Oracle. Uma instância de banco de dados primária replica de forma assíncrona para uma ou mais réplicas da Oracle.


                O RDS Custom para Oracle oferece réplica de Oracle para Oracle

Número máximo de réplicas

Como acontece com o RDS Custom para Oracle, você pode criar até cinco réplicas de banco de dados gerenciadas da sua instância de banco de dados primária do RDS Custom para Oracle. Você também pode criar suas próprias réplicas do Oracle configuradas manualmente (externas). As réplicas externas não contam em relação ao limite de instâncias de banco de dados. Elas também estão fora do perímetro de suporte do RDS Custom. Para ter mais informações sobre o perímetro de suporte, consulte Perímetro de suporte do RDS Custom.

Convenção de nomenclatura de réplicas

Os nomes das réplicas da Oracle são baseados no nome exclusivo do banco de dados. O formato é DB_UNIQUE_NAME_X, com letras anexadas em sequência. Por exemplo, se o nome exclusivo do seu banco de dados for ORCL, as duas primeiras réplicas são chamadas ORCL_A e ORCL_B. As primeiras seis letras, A-F, são reservadas para o RDS Custom. O RDS Custom copia parâmetros de banco de dados da instância de banco de dados primária para as réplicas. Para ter mais informações, consulte DB_UNIQUE_NAME na documentação do Oracle.

Retenção de backup de réplicas

Por padrão, réplicas do RDS Custom Oracle usam o mesmo período de retenção de backup que a sua instância de banco de dados primária. Você pode modificar o período de retenção de backup para 1-35 dias. O RDS Custom oferece suporte para backup, restauração e recuperação a um ponto anterior no tempo (PITR). Para ter mais informações sobre como fazer backup e restaurar instâncias de banco de dados do RDS Custom, consulte Fazer o backup e a restauração de uma instância de banco de dados do Amazon RDS Custom for Oracle.

nota

Ao criar uma réplica do Oracle, o RDS Custom pausa temporariamente a limpeza de logs de redo. Dessa forma, o RDS Custom garante que possa aplicar esses logs à nova réplica do Oracle depois que ela for disponibilizada.

Promoção de réplicas

Você pode promover réplicas gerenciadas do Oracle no RDS Custom para Oracle usando o console, o comando promote-read-replica do AWS CLI ou a API do PromoteReadReplica. Se você excluir sua instância de banco de dados primária e todas as réplicas estiverem íntegras, o RDS Custom para Oracle promoverá automaticamente suas réplicas gerenciadas a instâncias autônomas. Se uma réplica pausou a automação ou estiver fora do perímetro de suporte, você deverá corrigir a réplica antes que o RDS Custom possa promovê-la automaticamente. Você só pode promover réplicas externas do Oracle manualmente.

Diretrizes e limitações da replicação do RDS Custom para Oracle

Quando você cria réplicas de leitura do RDS Custom para Oracle, nem todas as opções de réplica do RDS Oracle são compatíveis.

Diretrizes gerais da replicação do RDS Custom para Oracle

Ao trabalhar com o RDS Custom para Oracle, siga estas diretrizes:

  • Não modifique o usuário RDS_DATAGUARD. Esse usuário está reservado para a automação do RDS Custom para Oracle. Modificar esse usuário pode gerar resultados indesejados, como a incapacidade de criar réplicas do Oracle para sua instância de banco de dados do RDS Custom para Oracle.

  • Não altere a senha do usuário da replicação. Ela é necessária para administrar a configuração do Oracle Data Guard no host do RDS Custom. Se você alterar a senha, o RDS Custom para Oracle pode colocar sua réplica do Oracle fora do perímetro de suporte. Para ter mais informações, consulte Perímetro de suporte do RDS Custom.

    A senha é armazenada no AWS Secrets Manager, marcada com o ID do recurso de banco de dados. Cada réplica do Oracle possui seu próprio segredo no Secrets Manager. O formato do segredo é o seguinte.

    do-not-delete-rds-custom-db-DB_resource_id-6-digit_UUID-dg
  • Não altere o DB_UNIQUE_NAME da instância de banco de dados primária. Alterar o nome faz com que qualquer operação de restauração fique travada.

  • Não especifique a cláusula STANDBYS=NONE em um comando CREATE PLUGGABLE DATABASE em um CDB do RDS Custom. Dessa forma, se ocorrer um failover, seu CDB de espera é composto por todos os PDBs.

Limitações gerais da replicação do RDS Custom para Oracle

As réplicas do RDS Custom para Oracle têm as seguintes limitações:

  • Você não pode criar réplicas do RDS Custom para Oracle no modo somente leitura. No entanto, você pode alterar manualmente o modo montado de réplicas para somente leitura e de somente leitura para montado. Para ter mais informações, consulte a documentação do comando create-db-instance-read-replica do AWS CLI.

  • Não é possível criar réplicas do RDS Custom para Oracle entre regiões.

  • Você não pode alterar o valor do parâmetro CommunicationTimeout do Oracle Data Guard. Esse parâmetro é definido como 15 segundos para instâncias de banco de dados do RDS Custom para Oracle.

Requisitos e limitações da rede para a replicação do RDS Custom para Oracle

Verifique se a sua configuração de rede oferece suporte para réplicas do RDS Custom para Oracle. Considere o seguinte:

  • Habilite a porta 1140 para comunicação de entrada e saída dentro da sua nuvem privada virtual (VPC) para a instância de banco de dados primária e todas as réplicas. Isso é necessário para a comunicação do Oracle Data Guard entre as réplicas de leitura.

  • O RDS Custom para Oracle valida a rede ao criar uma réplica do Oracle. Se a instância de banco de dados primária e a nova réplica não conseguirem se conectar pela rede, o RDS Custom para Oracle não criará a réplica e a colocará no estado INCOMPATIBLE_NETWORK.

  • Para réplicas externas do Oracle, como aquelas criadas no Amazon EC2 ou on-premises, use outra porta e ouvinte para replicação do Oracle Data Guard. Tentar usar a porta 1140 pode causar conflitos com a automação do RDS Custom.

  • O arquivo /rdsdbdata/config/tnsnames.ora contém nomes de serviços de rede mapeados para endereços de protocolo de ouvinte. Observe os seguintes requisitos e recomendações:

    • Entradas em tnsnames.ora com o prefixo rds_custom_ são reservadas para RDS Custom ao lidar com operações de réplica do Oracle.

      Ao criar entradas manuais em tnsnames.ora, não use esse prefixo.

    • Em alguns casos, talvez você queira alternar ou fazer failover manualmente ou usar tecnologias de failover, como o Fast-Start Failover (FSFO). Nesse caso, sincronize manualmente as entradas tnsnames.ora da instância de banco de dados primária com todas as instâncias em espera. Essa recomendação aplica-se a réplicas do Oracle gerenciadas pelo RDS Custom e a réplicas externas do Oracle.

      A automação do RDS Custom atualiza as entradas tnsnames.ora somente na instância de banco de dados primária. Também sincronize ao adicionar ou remover uma réplica do Oracle.

      Se você não sincronizar os arquivos tnsnames.ora e alternar ou failover manualmente, o Oracle Data Guard na instância de banco de dados primária talvez não consiga se comunicar com as réplicas do Oracle.

Limitações da réplica externa para o RDS Custom para Oracle

As réplicas externas do RDS Custom para Oracle, que incluem réplicas on-premises, têm as seguintes limitações:

  • O RDS Custom para Oracle detecta alterações no perfil da instância após o failover manual, como o FSFO, para réplicas externas do Oracle.

    O RDS Custom para Oracle detecta alterações em réplicas gerenciadas. A alteração da função é anotada no log de eventos. Também é possível ver o novo estado usando o comando describe-db-instances da AWS CLI.

  • O RDS Custom para Oracle, não detecta um alto atraso de replicação para réplicas externas do Oracle.

    O RDS Custom para Oracle detecta atrasos para réplicas gerenciadas. O alto atraso de replicação gera o evento Replication has stopped. Você também pode ver o status da replicação usando o comando describe-db-instances da AWS CLI, mas pode haver um atraso para que ele seja atualizado.

  • O RDS Custom para Oracle não promoverá réplicas externas do Oracle automaticamente se você excluir sua instância de banco de dados primária.

    O recurso de promoção automática está disponível somente para réplicas gerenciadas do Oracle. Para obter informações sobre como promover réplicas do Oracle manualmente, consulte o whitepaper “Enabling high availability with Data Guard on Amazon RDS Custom for Oracle” (Habilitar a alta disponibilidade com o Data Guard no Amazon RDS Custom para Oracle).

Limitações da promoção de réplicas para RDS Custom para Oracle

Promover o RDS Custom para Oracle para réplicas do Oracle gerenciadas é o mesmo que promover réplicas gerenciadas pelo RDS, com algumas diferenças. Observe as seguintes limitações das réplicas do RDS Custom para Oracle:

  • Você não pode promover uma réplica enquanto o RDS Custom para Oracle estiver fazendo backup dela.

  • Ao promover sua réplica do Oracle, você não pode alterar o período de retenção de backup para 0.

  • Você não pode promover sua réplica quando ela não está em um estado íntegro.

    Se você chamar delete-db-instance na instância de banco de dados primária, o RDS Custom para Oracle valida que cada réplica gerenciada do Oracle está íntegra e disponível para promoção. Uma réplica pode não estar qualificada para promoção porque a automação está pausada ou está fora do perímetro de suporte. Nesses casos, o RDS Custom para Oracle publica um evento explicando o problema para que você possa reparar sua réplica do Oracle manualmente.

Diretrizes da promoção de réplicas para RDS Custom para Oracle

Ao promover uma réplica, observe as seguintes diretrizes:

  • Não inicie um failover enquanto o RDS Custom para Oracle estiver promovendo sua réplica. Caso contrário, o fluxo de trabalho da promoção poderá travar.

  • Não alterne sua instância de banco de dados primária enquanto o RDS Custom para Oracle estiver promovendo sua réplica do Oracle. Caso contrário, o fluxo de trabalho da promoção poderá travar.

  • Não interrompa sua instância de banco de dados primária enquanto o RDS Custom para Oracle estiver promovendo sua réplica do Oracle. Caso contrário, o fluxo de trabalho da promoção poderá travar.

  • Não tente reiniciar a replicação com sua instância de banco de dados recém-promovida como destino. Depois que o RDS Custom para Oracle promover sua réplica do Oracle, ela se tornará uma instância de banco de dados autônoma e não terá mais a função de réplica.

Para ter mais informações, consulte Solucionar problemas de promoção de réplicas no RDS Custom para Oracle.

Promover uma réplica do RDS Custom para Oracle a uma instância de banco de dados autônoma

Assim como com o RDS para Oracle, você pode promover uma réplica do RDS Custom para Oracle a uma instância de banco de dados autônoma. Ao promover uma réplica do Oracle, a instância de banco de dados é reiniciada antes que ela seja disponibilizada. Para ter mais informações sobre como promover réplicas do Oracle, consulte Promoção de uma réplica de leitura a uma instância de banco de dados autônoma.

As etapas a seguir mostram o processo geral para promover uma réplica do Oracle a uma instância de banco de dados:

  1. Pare a gravação de transações na instância de banco de dados primária.

  2. Aguarde até que o RDS Custom para Oracle aplique todas as atualizações à sua réplica do Oracle.

  3. Promova a réplica do Oracle escolhendo a opção Promote (Promover) no console do Amazon RDS, o comando promote-read-replica da AWS CLI ou a operação da API PromoteReadReplica do Amazon RDS.

A promoção de uma réplica do Oracle leva alguns minutos para ser concluída. Durante o processo, o RDS Custom para Oracle interrompe a replicação e reinicializa sua réplica. Quando a reinicialização for concluída, a réplica do Oracle estará disponível como uma nova instância de banco de dados.

Para promover uma réplica do RDS Custom para Oracle a uma instância de banco de dados autônoma
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No console do Amazon RDS, escolha Databases (Bancos de dados).

    O painel Databases (Bancos de dados) é exibido. Todas as réplicas do Oracle exibem Replica (Réplica) na coluna Role (Função).

  3. Escolha a réplica do RDS Custom para Oracle que você deseja promover.

  4. Em Actions (Ações), selecione Promote (Promover).

  5. Na página Promote Oracle replica (Promover réplica do Oracle), insira o período de retenção de backup e a janela de backup para a instância de banco de dados recém-promovida. Você não pode definir esse valor como 0.

  6. Quando estiver satisfeito com as configurações, escolha Promote Oracle replica (Promover réplica do Oracle).

Para promover sua réplica do RDS Custom para Oracle a uma instância de banco de dados autônoma, use o comando promote-read-replica da AWS CLI.

exemplo

Para Linux, macOS ou Unix:

aws rds promote-read-replica \ --db-instance-identifier my-custom-read-replica \ --backup-retention-period 2 \ --preferred-backup-window 23:00-24:00

Para Windows:

aws rds promote-read-replica ^ --db-instance-identifier my-custom-read-replica ^ --backup-retention-period 2 ^ --preferred-backup-window 23:00-24:00

Para promover sua réplica do RDS Custom para Oracle a uma instância de banco de dados autônoma, chame a operação da API PromoteReadReplica do Amazon RDS com o parâmetro obrigatório DBInstanceIdentifier.