Alternância

Você pode selecionar manualmente uma das instâncias MySQL como instância principal. Isso é chamado de switchover.

Quando você executa um switchover, o posicionamento preferencial e o posicionamento atual mudam para o posicionamento recém-selecionado da instância principal. O endereço IP do ponto final do sistema de banco de dados não é alterado. Se o posicionamento atual for alterado em um switchover, isso resultará em um curto período de indisponibilidade enquanto a instância principal for redirecionada para a instância recém-promovida, você deverá reabrir todas as conexões de banco de dados.
Observação

Nenhum tempo de inatividade ocorre quando o posicionamento atual não é alterado em um switchover. Isso ocorre quando você faz switchover para a instância principal existente. Você pode fazer isso para alterar o posicionamento preferencial para o posicionamento atual.
Veja a seguir o processo de switchover de um sistema de banco de dados que foi criado ou atualizado após 25 de fevereiro de 2025, quando há uma alteração no posicionamento atual:
  • Novas transações são bloqueadas a partir do momento em que a alternância é iniciada.
  • As transações em execução podem continuar a ser executadas. Após 5 minutos, todas as transações em execução que não foram concluídas são abortadas e submetidas a rollback.
  • Imediatamente após a conclusão ou o cancelamento de todas as transações em execução, o ponto final do sistema de BD é designado à instância principal recém-promovida.
  • As conexões existentes com a instância principal anterior são fechadas. O aplicativo cliente deve reabrir novas conexões.
Veja a seguir o processo de switchover de um sistema de BD que foi criado antes de 25 de fevereiro de 2025 e não foi atualizado após 25 de fevereiro de 2025, quando há uma alteração no posicionamento atual:
  • As transações em execução podem ser concluídas. O processo de switchover aguarda até que todas as transações em execução sejam finalizadas e submetidas a commit.
  • Novas transações são aceitas e podem executar leituras e gravações, mas, quando a instância MySQL é promovida para ser a nova instância principal e a conexão com a instância principal anterior é interrompida, todas as transações não confirmadas são submetidas a rollback.
  • O ponto final do sistema de banco de dados é designado à instância principal recentemente promovida.
  • As conexões existentes com a instância principal anterior são fechadas. O aplicativo cliente deve reabrir novas conexões.
Observação

Após um switchover, o nome e a posição do arquivo de log de binários atual do novo principal podem ser diferentes do principal antigo. À medida que os logs de binários de cada instância são gerenciados de forma independente, cada transação registrada nos logs de binários pode ser gravada em um arquivo de log de binários e posicionada em instâncias diferentes.

Cenários de Switchover

Você pode usar o switchover nos seguintes cenários:

  • Teste de aplicativos: Garantir que seu aplicativo funcione corretamente com a instância principal recém-promovida.
  • Proximidade do domínio de disponibilidade: Enquanto os domínios de falha estão contidos no mesmo data center, os domínios de disponibilidade são distribuídos em diferentes data centers. Mesmo que esses domínios de disponibilidade estejam conectados a uma rede de baixa latência, pode ser necessário testar essa latência movendo a instância primária do domínio de disponibilidade para o domínio de disponibilidade para confirmar o melhor local para sua instância primária. Por exemplo, alternando para uma instância no mesmo domínio de disponibilidade que o aplicativo que se conecta a sua instância.

HeatWave Suporte a Cluster

Quando o posicionamento atual é alterado em um switchover, o cluster HeatWave é desanexado da instância principal anterior. Se a nova instância principal estiver localizada no mesmo domínio de disponibilidade (AD) da instância principal anterior, o mesmo cluster HeatWave será reutilizado e será anexado à nova instância principal. Se a nova instância principal estiver localizada em outro AD, o cluster HeatWave existente será excluído. É necessário criar um novo cluster HeatWave no mesmo AD que a nova instância principal e ele está anexado à nova instância principal. Os dados no cluster HeatWave são recuperados automaticamente da Camada de Armazenamento ou recarregados do sistema de BD ou do Lakehouse Object Storage.

Quando o posicionamento atual muda em um switchover, uma consulta de longa execução descarregada no cluster HeatWave pode ser abortada. Nesse caso, você precisa reconectar e executar novamente a consulta depois que o cluster HeatWave estiver pronto.

Use um dos seguintes métodos para executar um switchover:

Usando a Console

Use a Console para promover uma instância MySQL secundária como a instância principal.

Esta tarefa requer o seguinte:
  • Um sistema de banco de dados em execução com alta disponibilidade ativada.
Faça o seguinte para alternar da instância principal atual para uma das instâncias secundárias:
  1. Abra o menu de navegação. Em HeatWave MySQL, clique em Sistemas de BD.
  2. Escolha o compartimento no Escopo da Lista.
  3. Na lista de sistemas de banco de dados, localize o sistema de banco de dados que você deseja alternar e execute uma das seguintes ações:
    • Escolha Switchover no menu Ações na mesma linha do sistema de banco de dados.
    • Clique no nome do sistema de banco de dados para abrir a página Detalhes do Sistema de Banco de Dados. Selecione Fazer Switchover no menu Mais Ações.
  4. Na caixa de diálogo Switchover, selecione o domínio de disponibilidade ou de falha, dependendo da sua configuração, que contém a instância para a qual você deseja alternar.
    Observação

    O posicionamento atual e o posicionamento preferencial serão definidos como o domínio de disponibilidade ou falha selecionado. Se você selecionar o posicionamento atual em que a instância principal existente está localizada, ela só atualizará o posicionamento preferencial sem incorrer em tempo de inatividade.
  5. Clique em Switchover.
O status do sistema de banco de dados muda para Atualizando, e a instância selecionada se torna a principal.

Usando a CLI

Use a interface de linha de comando para promover uma instância MySQL secundária para a instância principal.

Esta tarefa requer o seguinte:
  • O OCID de um sistema de banco de dados em execução com alta disponibilidade ativada.
  • Uma política que permite atualizar o sistema de banco de dados.
  • Uma instalação da CLI configurada corretamente. Consulte Interface de Linha de Comando.
Faça o seguinte para alternar da instância principal atual para uma das instâncias secundárias:
  1. Abra a interface de linha de comando e liste todos os domínios de disponibilidade na região atual:
    oci iam availability-domain list
  2. Alterne para a instância MySQL desejada:
    • Para domínio de multidisponibilidade:
      oci mysql db-system update --db-system-id <DBSystemOCID> --availability-domain <SelectedAvailabilityDomain>
    • Para o domínio de disponibilidade única:
      oci mysql db-system update --db-system-id <DBSystemOCID> --fault-domain <SelectedFaultDomain>

    Onde

    • db-system-id: Especifique o OCID do sistema de banco de dados.
    • availability-domain: Especifique o nome do domínio de disponibilidade no qual a instância secundária MySQL, que você deseja promover para o principal, está presente.
    • fault-domain: Especifique o nome do domínio de falha no qual a instância secundária MySQL, que você deseja promover para o principal, está presente.
O status do sistema de banco de dados muda para Atualizando, e a instância no domínio de disponibilidade ou falha selecionado se torna a instância principal e o ponto final de leitura/gravação.