Executar uma alternância do Oracle Data Guard - Amazon Relational Database Service

Executar uma alternância do Oracle Data Guard

Uma alternância é uma inversão de funções entre um banco de dados primário e um banco de dados em espera. Durante uma alternância, o banco de dados primário original faz a transição para uma função em espera, enquanto o banco de dados auxiliar original faz a transição para a função principal.

Em um ambiente Oracle Data Guard, um banco de dados primário oferece suporte a um ou mais bancos de dados em espera. Você pode executar uma transição de função gerenciada e baseada em alternância de um banco de dados primário para um banco de dados em espera. Uma alternância é uma inversão de funções entre um banco de dados primário e um banco de dados em espera. Durante uma alternância, o banco de dados primário original faz a transição para uma função em espera, enquanto o banco de dados auxiliar original faz a transição para a função principal.

Visão geral da alternância do Oracle Data Guard

O Amazon RDS oferece suporte a uma transição de função totalmente gerenciada e baseada em alternância para réplicas do Oracle Database. Você pode iniciar uma alternância somente para um banco de dados em espera montado ou aberto somente para leitura.

As réplicas podem residir em Regiões da AWS separadas ou em diferentes zonas de disponibilidade (AZs) de uma única região. Todas as Regiões da AWS são aceitas.

Alternância de uma instância em espera para torná-la a instância primária

A transição é diferente da promoção de réplicas de leitura. Em uma transição, as instâncias de banco de dados de origem e réplica mudam de função. Em uma promoção, uma réplica de leitura se torna uma instância de banco de dados de origem, mas a instância de banco de dados de origem não se torna uma réplica. Para ter mais informações, consulte Promoção de uma réplica de leitura a uma instância de banco de dados autônoma.

Benefícios da alternância do Oracle Data Guard

Assim como no caso das réplicas de leitura do RDS para Oracle, uma alternância gerenciada depende do Oracle Data Guard. A operação foi criada para não ter nenhuma perda de dados. O Amazon RDS automatiza os seguintes aspectos da alternância:

  • Inverte as funções do banco de dados primária e do banco de dados em espera especificado, colocando o novo banco de dados em espera no mesmo estado (montado ou somente para leitura) do em espera original

  • Garante a consistência de dados

  • Mantém sua configuração de replicação após a transição

  • Oferece suporte a reversões repetidas, permitindo que seu novo banco de dados em espera retorne à sua função primária original

Versões compatíveis do Oracle Database

A alternância do Oracle Data Guard é compatível com as seguintes versões:

  • Oracle Database 19c

  • Oracle Database 12c Versão 2 (12.2)

  • Oracle Database 12c Versão 1 (12.1) usando PSU 12.1.0.2.v10 ou posteriores

Custo da alternância do Oracle Data Guard

O recurso de alternância do Oracle Data Guard não está sujeito a custos adicionais. O Oracle Database Enterprise Edition inclui suporte a bancos de dados em espera no modo montado. Para abrir bancos de dados em espera no modo somente leitura, você precisa da opção Oracle Active Data Guard.

Como funciona a alternância do Oracle Data Guard

A alternância do Oracle Data Guard é uma operação totalmente gerenciada. Você pode iniciar a alternância para um banco de dados em espera chamando o comando da CLI switchover-read-replica. Em seguida, o Amazon RDS modifica as funções primárias e em espera em sua configuração de replicação.

A em espera original e a primário original são as funções que existem antes da alternância. A nova em espera e a novo primário são as funções que existem após a alternância. Uma réplica do espectador é um banco de dados de réplica que serve como banco de dados em espera no ambiente Oracle Data Guard, mas não está alternando de funções.

Etapas da alternância do Oracle Data Guard

Para realizar a alternância, o Amazon RDS deve seguir as seguintes etapas:

  1. Bloqueie novas transações no banco de dados primário original. Durante a alternância, o Amazon RDS interrompe a replicação de todos os bancos de dados em sua configuração do Oracle Data Guard. Durante a alternância, o banco de dados primário original não pode processar solicitações de gravação.

  2. Envie as transações não aplicadas para o banco de dados em espera original e aplique-as.

  3. Reinicie o novo banco de dados em espera no modo somente leitura ou montado. O modo depende do estado aberto do banco de dados em espera original antes da alternância.

  4. Abra o novo banco de dados primário no modo de leitura/gravação.

Após a alternância do Oracle Data Guard

O Amazon RDS alterna as funções do banco de dados primário e do banco de dados em espera. Você é responsável por reconectar sua aplicação e realizar qualquer outra configuração desejada.

Critérios de sucesso

A alternância do Oracle Data Guard é bem-sucedida quando o banco de dados em espera original faz o seguinte:

  • Transições para sua função como novo banco de dados primário

  • Conclui sua reconfiguração

Para limitar o tempo de inatividade, seu novo banco de dados primário se torna ativo o mais rápido possível. Como o Amazon RDS configura réplicas de espectador de forma assíncrona, essas réplicas podem se tornar ativas após o banco de dados primário original.

Conexão com o novo banco de dados primário

O Amazon RDS não propagará suas conexões de banco de dados atuais para o novo banco de dados primário após a alternância. Após a conclusão da alternância do Oracle Data Guard, reconecte sua aplicação ao novo banco de dados primário.

Configuração do novo banco de dados primário

Para realizar uma alternância para o novo banco de dados primário, o Amazon RDS altera o modo do banco de dados em espera original a ser aberto. A mudança na função é a única alteração no banco de dados. O Amazon RDS não configura recursos como a replicação Multi-AZ.

Se você realizar uma alternância para uma réplica entre regiões com opções diferentes, o novo banco de dados primário manterá suas próprias opções. O Amazon RDS não migrará as opções no banco de dados primário original. Se o banco de dados primário original tiver opções como SSL, NNE, OEM e OEM_AGENT, o Amazon RDS não as propagará para o novo banco de dados primário.

Preparar para a transição do Oracle Data Guard

Antes de iniciar a alternância do Oracle Data Guard, verifique se o seu ambiente de replicação atende aos seguintes requisitos:

  • O banco de dados em espera original é montado ou aberto somente para leitura.

  • Os backups automáticos são habilitados no banco de dados em espera original.

  • O banco de dados primário original e o banco de dados em espera original estão em um estado disponível.

  • O banco de dados primário original e o banco de dados em espera original não têm ações de manutenção pendentes.

  • O banco de dados em espera original está no estado de replicação.

  • Você não está tentando iniciar uma alternância quando o banco de dados primário ou o banco de dados em espera estão atualmente em um ciclo de vida de alternância. Se um banco de dados de réplica estiver sendo reconfigurado após uma alternância, o Amazon RDS impede que você inicie outra alternância.

    nota

    Uma réplica do espectador é uma réplica na configuração do Oracle Data Guard que não é o alvo da alternância. As réplicas do espectador podem estar em qualquer estado durante a alternância.

  • O banco de dados em espera original tem uma configuração que é a mais próxima desejada do banco de dados primário original. Vamos supor que um cenário em que os bancos de dados primários originais e em espera originais tenham opções diferentes. Após a conclusão da alternância, o Amazon RDS não reconfigura automaticamente o novo banco de dados primário para ter as mesmas opções do banco de dados primário original.

  • Você configura a implantação multi-AZ desejada antes de iniciar uma transição. O Amazon RDS não gerencia o multi-AZ como parte da transição. A implantação Multi-AZ permanece no estado em que se encontra.

    Suponha que db_maz seja o banco de dados principal em uma implantação multi-AZ e db_saz seja uma réplica Single-AZ. Você inicia uma transição de db_maz para db_saz. Posteriormente, db_maz é um banco de dados de réplica multi-AZ e db_saz é um banco de dados principal Single-AZ. O novo banco de dados principal já pode ser desprotegido por uma implantação multi-AZ.

  • Em preparação para uma transição entre regiões, o banco de dados principal não usa o mesmo grupo de opções de uma instância de banco de dados fora da configuração de replicação. Para que uma transição entre regiões seja bem-sucedida, o banco de dados principal atual e suas réplicas de leitura devem ser as únicas instâncias de banco de dados a usar o grupo de opções do banco de dados principal atual. Caso contrário, o Amazon RDS impede a transição.

Iniciar a alternância do Oracle Data Guard

Você pode alternar uma réplica de leitura do RDS para Oracle para a função primária e a antiga instância de banco de dados primária para uma função de réplica.

Como alternar uma réplica de leitura da Oracle para a função de banco de dados primária
  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 de leitura exibem Replica (Réplica) na coluna Role (Função).

  3. Escolha a réplica de leitura que você deseja alternar para a função primária.

  4. Para Actions (Ações), escolha Switch over replica (Alternar réplica).

  5. Escolha I acknowledge (Eu aceito). Depois, escolha Switch over replica (Alternar réplica).

  6. Na página Databases (Bancos de dados), monitore o progresso da transição.

    Monitore o andamento da transição do Oracle Data Guard.

    Quando a transição é concluída, a função do destino da alternância muda de Replica (Réplica) para Primary (Principal).

    Os bancos de dados de origem e réplica alteram as funções.

Para mudar uma réplica do Oracle para a função de banco de dados primária, use o comando switchover-read-replica do AWS CLI. Os exemplos a seguir tornam a réplica do Oracle chamada replica-to-be-made-primary no novo banco de dados primário.

exemplo

Para Linux, macOS ou Unix:

aws rds switchover-read-replica \ --db-instance-identifier replica-to-be-made-primary

Para Windows:

aws rds switchover-read-replica ^ --db-instance-identifier replica-to-be-made-primary

Para alternar uma réplica do Oracle para a função de banco de dados primária, chame a operação da API SwitchoverReadReplica do Amazon RDS com o parâmetro necessário DBInstanceIdentifier. Esse parâmetro especifica o nome da réplica do Oracle que você deseja assumir como função de banco de dados primária.

Monitorar a alternância do Oracle Data Guard

Para verificar o status das suas instâncias usando o comando AWS da describe-db-instances CLI. O comando a seguir verifica o status da instância de banco de dados orcl2. Esse banco de dados era um banco de dados em espera antes da alternância, mas é o novo banco de dados primário após a alternância.

aws rds describe-db-instances \ --db-instance-identifier orcl2

Para verificar se a alternância foi concluída com êxito, consulte V$DATABASE.OPEN_MODE. Verifique se o valor do novo banco de dados primário é READ WRITE.

SELECT OPEN_MODE FROM V$DATABASE;

Para procurar eventos relacionados à alternância, use o comando describe-events da AWS.CLI. O exemplo a seguir procura eventos na instância orcl2.

aws rds describe-events \ --source-identifier orcl2 \ --source-type db-instance