Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Guia de Atualização EOFS do MongoDB 3.4

Última atualização: Sep 17, 2026

Este guia destina-se a usuários do ApsaraDB for MongoDB cujas instâncias executam o MongoDB 3.4. Se você recebeu uma notificação informando que sua assinatura não pode ser renovada ou deseja saber o que acontece após o fim do suporte ao MongoDB 3.4, leia este guia.

Minha instância é afetada?

Quando ler esta seção: Você recebeu uma notificação relacionada ao EOFS, mas não tem certeza se sua instância é afetada.

O que é EOFS?

O EOFS (End of Full Support) é uma etapa no ciclo de vida de products da Alibaba Cloud. O MongoDB 3.4 entrou na fase EOFS, o que significa:

Data

Evento

Impacto

1º de janeiro de 2023

Fim de novas compras (EOM)

Não é mais possível comprar instâncias do MongoDB 3.4

30 de junho de 2026

Fim de renovações e alterações de especificação (EOFS)

Renovações, alterações de método de faturamento e mudanças de especificação (scale-up/scale-down) deixam de ser suportadas

31 de dezembro de 2026

Fim do service (EOS)

Os recursos da instância são liberados e todos os services ficam indisponíveis

Importante

A partir de 30 de junho de 2026, as instâncias do MongoDB 3.4 não podem mais ser renovadas nem ter suas especificações alteradas. Caso não consiga renovar sua assinatura após a data de expiração, esse é o motivo.

Como verifico se minha instância é afetada?

  1. Faça login no console do MongoDB.

  2. Na lista de instâncias, verifique a coluna Database Version da sua instância.

  3. Se a versão exibida for 3.4, sua instância é afetada pelo EOFS e deve ser atualizada o mais rápido possível.

Quais são as restrições específicas após o EOFS?

Operação

Suportada após o EOFS

Continuar usando a instância existente (antes da expiração)

Sim

Renovação

Não (é necessário atualizar antes de renovar)

Alterações de especificação (expansão de disco/scale-up/scale-down)

Não

Atualização de versão principal

Sim (as condições de atualização devem ser atendidas)

Cancelamento de assinatura

Sim

Renovação automática

Desativada automaticamente

Nota

Após o EOFS, não é possível mudar para o faturamento pagamento conforme o uso. Depois da expiração, a instância entra em um estado de bloqueio de 15 dias, durante o qual fica inacessível. Para mais informações, consulte a seção "E se eu não conseguir atualizar a tempo?" deste guia.

Minha instância pode ser atualizada localmente? Referência rápida de caminho de atualização

Quando ler esta seção: Você sabe que precisa atualizar, mas não tem certeza se a instância pode ser atualizada diretamente pelo console ou se requer migração.

Tabela de referência rápida de caminhos de atualização

Encontre seu caminho de atualização com base na arquitetura e no tipo de armazenamento da sua instância:

Arquitetura

Tipo de armazenamento

Versão atual

Pode ser atualizada para

Método de atualização

Standalone

Disco local

3.4

4.0

Atualização direta pelo console

Replica set

Disco local

3.4

4.0 ou 4.2

Atualização direta pelo console

Sharded cluster

Disco local

3.4

4.0 ou 4.2

Atualização direta pelo console

Importante

Para atualizar para uma versão superior à 4.2 (como 5.0, 6.0, 7.0 ou 8.0), atualize primeiro para a 4.2, Migrate local disk instances to cloud disk, e continue atualizando passo a passo. Alternativamente, crie uma nova instância de versão superior e migre os dados usando o DTS.

Instâncias standalone podem ser atualizadas diretamente?

Sim. Instâncias Standalone 3.4 podem ser atualizadas diretamente para uma versão principal superior pelo console.

A versão 4.2 é a máxima para instâncias de disco local?

Instâncias de disco local podem ser atualizadas até a versão 4.2 via console. Para atualizar para a 5.0 ou superior, migre primeiro para uma instância de disco em nuvem e então continue a atualização. Recomendamos criar uma nova instância de disco em nuvem de versão superior e migrar os dados usando o DTS pelos seguintes motivos:

  • Podem existir problemas de compatibilidade entre versões inferiores e superiores. A migração via DTS ajuda a identificar incompatibilidades antecipadamente, enquanto uma atualização de versão principal não pode ser revertida. Para informações sobre compatibilidade entre versões principais, consulte .

  • Múltiplas atualizações resultam em múltiplas desconexões breves. Para了解 o impacto das atualizações de versão principal, consulte Upgrade database major version.

É possível atualizar diretamente da 3.4 para a 4.2 (pulando a 4.0)?

  • Instâncias do tipo replica set e sharded cluster executando a versão 3.4 podem ser atualizadas diretamente para a 4.2. O backend realiza a atualização da versão principal passo a passo (3.4 → 3.6 → 4.0 → 4.2), e cada etapa causa uma breve desconexão. Não é necessária intervenção manual nas versões intermediárias.

  • Instâncias standalone executando a versão 3.4 podem ser atualizadas apenas para a 4.0.

O que acontece durante uma atualização? Avaliação de impacto

Quando ler esta seção: Você sabe que precisa atualizar, mas está preocupado com o impacto nos negócios.

Por quanto tempo a atualização interromperá meu service?

  • Replica set e sharded cluster: A atualização aciona de 1 a 2 failovers primário/secundário, cada um causando uma breve desconexão de aproximadamente 30 segundos.

    Nota

    Atualizações entre versões (como da 3.4 para a 4.2): O backend atualiza a versão principal passo a passo. Cada etapa de versão aciona múltiplos failovers e de 1 a 2 desconexões breves. Execute as atualizações fora do horário de pico e garanta que sua aplicação possua um mecanismo de reconexão.

    Reduzindo o impacto: Recomendamos conectar-se ao banco de dados usando o ConnectionStringURI em ambientes de produção.

    Ao conectar-se via ConnectionStringURI, o nó conectado permanece sempre como o nó primário, evitando interrupções de leitura/escrita causadas por failover primário/secundário. Para mais informações sobre conexão via ConnectionStringURI, consulte Replica set instance connection ou Connect to a sharded cluster instance.

  • Instâncias standalone: A instância é reiniciada automaticamente durante a atualização, causando uma interrupção de service de aproximadamente 2 minutos.

A atualização causará perda de dados?

Não. O processo de atualização não causa perda de dados. No entanto, recomendamos criar manualmente um backup completo antes de atualizar, por precaução.

Minhas credenciais de conta mudarão após a atualização?

Não. Contas e senhas permanecem inalteradas após a atualização.

Minha string de conexão mudará após a atualização?

  • Atualização local (replica set/sharded cluster com disco local): A string de conexão permanece inalterada.

  • Migração via DTS (instâncias standalone): A nova instância terá uma string de conexão diferente. Atualize a configuração de conexão no código da sua aplicação após a atualização.

Importante

Recomendamos usar a string de conexão de alta disponibilidade ConnectionStringURI. O ConnectionStringURI garante que o nó conectado permaneça sempre como o nó primário, prevenindo interrupções de leitura/escrita causadas por failover primário/secundário durante a atualização.

Posso reverter após a atualização?

Não. Downgrades não são suportados após uma atualização de versão principal. Antes de atualizar, certifique-se de realizar testes de compatibilidade e backup de dados.

Importante

Após uma atualização de versão principal, dados de backup de uma versão inferior não podem ser restaurados em uma instância do ApsaraDB for MongoDB. Você pode baixar o arquivo de backup e restaurar os dados da versão inferior em um banco de dados MongoDB autogerenciado. Para mais informações, consulte Restore backup data.

Preciso verificar o espaço em disco antes de atualizar?

Sim. Recomendamos que o espaço livre em disco seja de pelo menos 20% antes da atualização para garantir espaço suficiente para reorganização de dados durante o processo. Como a fase EOFS foi atingida, a expansão de disco não está mais disponível. Se o espaço livre estiver abaixo de 20%, tente as seguintes alternativas:

  1. Limpe dados redundantes: Exclua coleções, índices ou dados temporários não utilizados para liberar espaço antes da atualização.

  2. Tente a atualização diretamente: 20% é uma recomendação, não um limite rígido. As atualizações ainda podem ter sucesso com um pouco menos de espaço livre. Se a atualização falhar devido a espaço insuficiente, o sistema reverte automaticamente sem afetar a instância.

  3. Use a migração via DTS: Compre uma nova instância de versão superior com maior espaço em disco, migre os dados usando o DTS e libere a instância antiga após a migração. Essa abordagem não é limitada pelo espaço em disco.

Quais riscos de compatibilidade existem?

As alterações de compatibilidade introduzidas ao atualizar da versão 3.4 para a 4.0 e 4.2 são as seguintes:

Atualizando para a 4.0 (via 3.6):

Alteração

Descrição

Valor de retorno de aggregate

Não retorna mais um único documento; retorna um cursor em vez disso. Adapte a iteração do cursor.

Opção de consulta snapshot

Não é mais suportada

Ordenação de arrays

O limite de memória do estágio de agregação $sort é de 100 MB

Operações de atualização

Ao atualizar múltiplos campos simultaneamente, novos campos são adicionados em ordem de dicionário

reIndex

Adiciona um bloqueio global de escrita até que a reconstrução do índice seja concluída

copydb, clone

Não são mais suportados (removidos oficialmente na 4.2)

Atualizando para a 4.2 (via 3.6 → 4.0 → 4.2, inclui todas as alterações acima, mais as seguintes):

Alteração

Descrição

Comando group

Removido (obsoleto desde a 3.4, removido oficialmente na 4.2). Use db.collection.aggregate() ou mapReduce() em vez disso.

copydb, clone

Removidos (não suportados desde a 4.0, removidos oficialmente na 4.2)

cloneCollection

Não é mais suportado. Use mongoexport/mongoimport em vez disso.

geoNear

Não é mais suportado. Use $geoNear (estágio de agregação) em vez disso.

repairDatabase

Não é mais suportado

afterClusterTime

Não é mais suportado

Retryable Writes

Ativado por padrão em drivers open-source

Nota

O comando group ainda está disponível no MongoDB 4.0, mas está marcado como obsoleto. Ele é removido oficialmente na versão 4.2. Se o seu código utiliza o comando group, você deve alterá-lo para aggregate ou mapReduce antes de atualizar para a 4.2.

Para descrições completas das alterações de compatibilidade de cada versão, consulte Compatibility changes in MongoDB major version upgrades.

Checklist pré-atualização

Quando ler esta seção: Você determinou o caminho de atualização e está se preparando para iniciá-la.

Antes de iniciar a atualização, confirme cada item:

  • Confirme a arquitetura da instância (standalone/replica set/sharded cluster) e o tipo de armazenamento (disco local)

  • Para sharded clusters, confirme se o tipo de protocolo da instância é protocolo MongoDB (instâncias com protocolo DynamoDB não suportam atualizações)

  • Para sharded clusters, entenda que o balancer é parado automaticamente durante a atualização e reiniciado automaticamente após a conclusão da atualização

  • Confirme o caminho de atualização (atualização direta pelo console ou migração via DTS)

  • Confirme a versão de destino (4.0 ou 4.2)

  • Verifique se o espaço livre em disco é de pelo menos 20%

  • Crie manualmente um backup completo

  • Verifique se o seu código usa comandos removidos (group, copydb, clone, geoNear, cloneCollection, repairDatabase, etc.)

  • Confirme a compatibilidade da versão do Java Driver com a versão alvo do MongoDB

  • Confirme se sua aplicação possui um mecanismo de reconexão

  • Agende a atualização para fora do horário de pico

  • Use a string de conexão de alta disponibilidade ConnectionStringURI

Procedimentos de atualização

Quando ler esta seção: Você completou o checklist pré-atualização e precisa dos passos operacionais específicos.

Atualização direta pelo console (replica set/sharded cluster)

Passo 1: Backup manual

Antes de atualizar, recomendamos criar manualmente um backup completo. Como downgrades não são suportados após a atualização, você pode restaurar os dados de backup em uma nova instância para recuperação rápida dos negócios, se necessário.

Passo 2: Verificar espaço em disco

Garanta que o espaço livre em disco seja de pelo menos 20%. Se o espaço for insuficiente, consulte as alternativas na seção "Preciso verificar o espaço em disco antes de atualizar?".

Passo 3: Executar a atualização

  1. Faça login no console do MongoDB.

  2. Na lista de instâncias, clique em ID da instância alvo para acessar a página Basic Information.

  3. Na área Basic Information, passe o mouse sobre Upgrade Database Version e clique em versão principal alvo (4.0 ou 4.2).

  4. Na caixa de diálogo de confirmação, clique em OK.

Nota

Ao atualizar a versão principal, o sistema atualiza automaticamente para a versão secundária mais recente disponível para aquela versão principal.

Passo 4: Aguardar a conclusão da atualização

  • Durante a atualização, o status da instância é exibido como "Upgrading".

  • O processo de atualização envolve de 2 a 3 desconexões breves de aproximadamente 30 segundos cada. Garanta que sua aplicação possua um mecanismo de reconexão.

  • Após a conclusão da atualização, o status da instância retorna para "Running".

  • Se a tarefa de atualização mostrar "Upgrading" por um período prolongado, você pode alterar o tempo de switchover para "Switch Immediately" para acelerar a conclusão.

Verificação pós-atualização

Após a conclusão da atualização, execute as seguintes verificações:

  1. Confirmação de versão: Confirme no console que a versão do banco de dados mudou para a versão alvo.

  2. Teste de conexão: Conecte-se à instância usando um cliente e confirme que a conexão está normal.

  3. Integridade dos dados: Verifique se os dados críticos de negócios estão completos.

  4. Funcionalidade da aplicação: Teste as funções principais de negócios para confirmar que estão funcionando adequadamente.

  5. Monitoramento de desempenho: Observe as métricas de desempenho após a atualização para confirmar que estão normais.

E se eu não conseguir atualizar a tempo?

Quando ler esta seção: Sua instância está prestes a expirar e você não consegue concluir a atualização a tempo, ou sua instância já expirou e está bloqueada.

A instância está prestes a expirar, mas não pode ser atualizada a tempo

Se você não conseguir concluir a atualização antes da expiração da instância, envie um ticket o mais rápido possível com as seguintes informações:

  • ID da instância

  • Data de expiração atual

  • Plano de atualização e cronograma

A equipe de suporte técnico prestará assistência com base na sua situação específica.

A instância expirou e está bloqueada

Se sua instância expirou e entrou no estado de bloqueio:

  1. Cronograma de bloqueio: Do dia 1 ao dia 15 após a expiração, a instância fica bloqueada e inacessível. No 16º dia após a expiração, os recursos de computação da instância são liberados. No 23º dia após a expiração, os dados deixam de ser retidos.

    Aviso
    • O cronograma acima aplica-se apenas a instâncias replica set 3.4.

    • Instâncias standalone e sharded cluster de disco local não suportam restauração da lixeira após a liberação. Atualize a versão principal o mais rápido possível durante o período de bloqueio (do dia 1 ao dia 15 após a expiração). Não espere até que os recursos de computação sejam liberados. Para mais informações, consulte Recycle bin precautions.

  2. Método de recuperação: Instâncias do MongoDB no estado bloqueado ainda podem ser atualizadas para uma versão principal superior. Você pode primeiro atualizar a versão principal e depois renovar a assinatura.

  3. Atualize imediatamente após a recuperação: Após o acesso ser restaurado, atualize a versão principal do banco de dados o mais rápido possível.

Perguntas frequentes

P1: Minha instância está prestes a expirar e não consigo renová-la. O que devo fazer?

R: Instâncias standalone, replica set e sharded cluster podem ser atualizadas diretamente para a 4.0 ou 4.2 pelo console. Após a atualização, você pode renovar normalmente. Se tiver circunstâncias especiais, envie um ticket imediatamente com uma explicação.

P2: Por que a renovação automática parou de funcionar?

R: O MongoDB 3.4 deixou de suportar services de renovação a partir de 30 de junho de 2026, o que faz com que a renovação automática pare de funcionar. O sistema notificará você via SMS e mensagens internas antes da data do EOFS. Você precisa atualizar a versão principal do banco de dados para restaurar a renovação.

P3: Devo atualizar para a 4.0 ou 4.2?

R:

  • Se o seu código usa o comando group, recomendamos atualizar primeiro para a 4.0 (o comando group ainda está disponível, mas obsoleto na 4.0). Após concluir a refatoração do código, atualize para a 4.2.

  • Se você não usa o comando group, pode atualizar diretamente para a 4.2. A versão 4.2 suporta recuperação de espaço em disco via console (compact), enquanto a 4.0 não suporta.

P4: Preciso modificar meu código Java após a atualização?

R: Atualizar da 3.4 para a 4.0/4.2 geralmente não requer modificações no código Java, mas confirme:

  • Você não está usando o comando group (removido na 4.2)

  • Você não está usando comandos removidos como copydb, clone, cloneCollection, geoNear ou repairDatabase

  • Sua versão do Java Driver é compatível com a versão alvo do MongoDB (recomendamos usar a versão do Driver recomendada oficialmente pelo MongoDB, consulte Matriz de Compatibilidade de Drivers)

P5: Quanto tempo leva para migrar 200 GB de dados?

R: Usando a migração via DTS, 200 GB de dados geralmente são concluídos em algumas horas. A migração completa é gratuita. Se for necessária migração incremental (switchover sem tempo de inatividade), você deve primeiro habilitar o oplog na instância de origem.

P6: Posso cancelar o processo de atualização?

R: Uma tarefa de atualização em andamento não pode ser cancelada. No entanto, você pode modificar o tempo de switchover para adiar a troca até fora do horário de pico. Recomendamos iniciar atualizações fora do horário de pico.

P7: Apenas 2 nós são exibidos no console do replica set após a atualização

R: Isso é normal. O nó Hidden do replica set não é exibido no console por padrão. A instância ainda mantém uma arquitetura de três nós, o que não afeta a alta disponibilidade.

P8: Os dados são retidos após a expiração da instância?

R: A versão 3.4 possui apenas instâncias de disco local.

Arquitetura

Política de retenção

O que fazer

Instâncias standalone e sharded cluster

  • Dia 1 a 15 após a expiração: A instância fica bloqueada e inacessível, mas os dados ainda são retidos.

  • Dia 16 após a expiração: Os recursos de computação são liberados.

Conclua a atualização da versão principal e a renovação antes do 16º dia.

Instâncias replica set

  • Dia 1 a 15 após a expiração: A instância fica bloqueada e inacessível, mas os dados ainda são retidos.

  • Dia 16 após a expiração: Os recursos de computação são liberados. Os dados são retidos por um período baseado na política de retenção de backup.

  • Dia 23 após a expiração: Os dados deixam de ser retidos.

Conclua a atualização da versão principal e a renovação antes do 23º dia.

Após renovar e restaurar o acesso, você pode exportar os dados. Após a conclusão da exportação, você pode cancelar a assinatura da instância.

P9: Existem problemas de compatibilidade da 3.4 para a 4.0?

R: Não há problemas de compatibilidade de alto risco conhecidos da 3.4 para a 4.0. As principais alterações incluem o aggregate retornando um cursor em vez de um único documento, a opção de consulta snapshot deixando de ser suportada e o reIndex adicionando um bloqueio global de escrita. Recomendamos verificar seu código em relação à lista de alterações de compatibilidade antes de atualizar.

P10: Posso mudar para o faturamento pagamento conforme o uso após o EOFS?

R: Não. Após o EOFS, você não pode renovar nem mudar para o faturamento pagamento conforme o uso. Após a expiração, a instância entra em um período de bloqueio de 15 dias, após o qual os recursos são liberados. A única solução é atualizar a versão principal do banco de dados.

P11: Como posso concluir a atualização sem pessoal de operações?

R: Recomendamos o seguinte:

  1. Envie um ticket com as informações da sua instância e requisitos de atualização. A equipe de suporte técnico fornecerá assistência.

  2. Entre em contato com um parceiro da Alibaba Cloud para services de atualização.

P12: A atualização falha com o erro "InvalidSaleComponentFault"

R: Isso geralmente ocorre porque a especificação selecionada não está disponível para a versão alvo. Por exemplo, o tipo dedicado pode não ter uma especificação de 8 núcleos e 32 GB. Selecione uma especificação suportada pela versão alvo durante a atualização ou envie um ticket para confirmar a lista de especificações disponíveis.

P13: O Navicat não consegue conectar a instâncias 3.4

R: A versão 3.4 pode ter problemas de compatibilidade com drivers mais recentes do Navicat. Recomendamos usar uma versão mais antiga do driver do Navicat ou usar o mongo shell / mongosh para conectar. Após atualizar para a 4.0/4.2, você pode usar a versão mais recente do Navicat.

Apêndice: Documentos relacionados

Documento

Descrição

Upgrade the major version of a database

Documentação oficial de operações de atualização

MongoDB lifecycle policy

Documentação oficial de ciclo de vida

Compatibility changes in MongoDB major version upgrades

Descrições de alterações de compatibilidade

Recycle bin

Recuperação de instância expirada/bloqueada

Migração de dados DTS

Guia de operações de migração via DTS

Guia de Atualização EOFS do MongoDB 3.4

Guia de Atualização EOFS do MongoDB 3.4

Este guia destina-se a usuários do ApsaraDB for MongoDB cujas instâncias executam o MongoDB 3.4. Se você recebeu uma notificação informando que não pode renovar sua assinatura ou deseja saber o que acontece após o fim do suporte ao MongoDB 3.4, leia este guia.

1. Minha instância é afetada?

Quando ler esta seção: Você recebeu uma notificação relacionada ao EOFS, mas não tem certeza se sua instância é afetada.

1.1 O que é EOFS?

O EOFS (End of Full Support) é uma etapa no ciclo de vida de products da Alibaba Cloud. O MongoDB 3.4 entrou na fase EOFS, o que significa:

Data

Evento

Impacto

1º de janeiro de 2023

Fim de novas compras (EOM)

Não é mais possível comprar instâncias do MongoDB 3.4

30 de junho de 2026

Fim de renovações e alterações de especificação (EOFS)

Renovações e alterações de especificação (scale-up/scale-down/mudanças de tipo de armazenamento) deixam de ser suportadas

31 de dezembro de 2026

Fim do service (EOS)

Os recursos da instância são liberados e todos os services ficam indisponíveis

Importante

A partir de 30 de junho de 2026, as instâncias do MongoDB 3.4 não podem mais ser renovadas nem ter suas especificações alteradas. Caso não consiga renovar sua assinatura após a data de expiração, esse é o motivo.

1.2 Como verifico se minha instância é afetada?

  1. Faça login no console do MongoDB.

  2. Na lista de instâncias, verifique a coluna Database Version da sua instância.

  3. Se a versão exibida for 3.4, sua instância é afetada pelo EOFS e deve ser atualizada o mais rápido possível.

1.3 Quais são as restrições específicas após o EOFS?

Operação

Suportada após o EOFS

Continuar usando a instância existente (antes da expiração)

Sim

Renovação

Não (é necessário atualizar antes de renovar)

Alterações de especificação (expansão de disco/scale-up/scale-down)

Não

Mudanças de tipo de armazenamento (disco local para disco em nuvem)

Não

Atualização de versão principal

Sim (as condições de atualização devem ser atendidas)

Cancelamento de assinatura

Sim

Renovação automática

Desativada automaticamente

Nota

Após o EOFS, não é possível mudar para o faturamento pagamento conforme o uso. Depois da expiração, a instância entra em um estado de bloqueio de 15 dias, durante o qual fica inacessível. Para mais informações, consulte a Seção 6 deste guia.

2. O que acontece durante uma atualização? Avaliação de impacto

Quando ler esta seção: Você sabe que precisa atualizar, mas está preocupado com o impacto nos negócios.

2.1 Por quanto tempo a atualização interromperá meu service?

A atualização utiliza uma abordagem de atualização contínua. Durante o processo, a instância é reiniciada automaticamente de 2 a 3 vezes, e cada reinicialização causa aproximadamente 30 segundos de breve desconexão.

Tipo de armazenamento

Tempo estimado de atualização

Descrição

Disco local

Minutos

Semelhante ao tempo de reinicialização da instância para atualizações de versões próximas

Disco em nuvem (ESSD)

Aproximadamente 15 minutos

Depende do volume de dados

Nota

Para atualizações entre versões (como da 3.4 para a 4.2), o backend atualiza a versão principal passo a passo, e cada etapa de versão causa uma breve desconexão. Execute as atualizações fora do horário de pico e garanta que sua aplicação possua um mecanismo de reconexão.

2.2 A atualização causará perda de dados?

Não. O processo de atualização não causa perda de dados. No entanto, recomendamos que você crie manualmente um backup completo antes de atualizar, por precaução.

2.3 Minhas credenciais de conta mudarão após a atualização?

Não. Contas e senhas permanecem inalteradas após a atualização.

2.4 Minha string de conexão mudará após a atualização?

  • Atualização local (replica set/sharded cluster com disco local): A string de conexão permanece inalterada.

  • Migração via DTS (instâncias standalone): A nova instância terá uma string de conexão diferente. Você deve atualizar a configuração de conexão no código da sua aplicação após a atualização.

Importante

Recomendamos usar a string de conexão de alta disponibilidade ConnectionStringURI. O ConnectionStringURI garante que o nó conectado permaneça sempre como o nó primário, prevenindo interrupções de leitura/escrita causadas por failover primário/secundário durante a atualização.

2.5 Posso reverter após a atualização?

Não. Downgrades não são suportados após uma atualização de versão principal. Antes de atualizar, certifique-se de realizar testes de compatibilidade e backup de dados.

Importante

Após uma atualização de versão principal, dados de backup de uma versão inferior não podem ser restaurados em uma instância do ApsaraDB for MongoDB. Você pode baixar o arquivo de backup e restaurar os dados da versão inferior em um banco de dados MongoDB autogerenciado. Para mais informações, consulte Restore backup data.

2.6 Preciso verificar o espaço em disco antes de atualizar?

Sim. Recomendamos que o espaço livre em disco seja de pelo menos 20% antes da atualização para garantir espaço suficiente para reorganização de dados durante o processo. Como a fase EOFS foi atingida, a expansão de disco não está mais disponível. Se o espaço livre estiver abaixo de 20%, tente as seguintes alternativas:

  1. Limpe dados redundantes: Exclua coleções, índices ou dados temporários não utilizados para liberar espaço antes da atualização.

  2. Tente a atualização diretamente: 20% é uma recomendação, não um limite rígido. As atualizações ainda podem ter sucesso com um pouco menos de espaço livre. Se a atualização falhar devido a espaço insuficiente, o sistema reverte automaticamente sem afetar a instância.

  3. Use a migração via DTS: Compre uma nova instância de versão superior com maior espaço em disco, migre os dados usando o DTS e libere a instância antiga após a migração. Essa abordagem não é limitada pelo espaço em disco.

2.7 Quais riscos de compatibilidade existem?

As alterações de compatibilidade introduzidas ao atualizar da versão 3.4 para a 4.0 e 4.2 são as seguintes:

Atualizando para a 4.0 (via 3.6):

Alteração

Descrição

Valor de retorno de aggregate

Não retorna mais um único documento; retorna um cursor em vez disso. Adapte a iteração do cursor.

Opção de consulta snapshot

Não é mais suportada

Ordenação de arrays

O limite de memória do estágio de agregação $sort é de 100 MB

Operações de atualização

Ao atualizar múltiplos campos simultaneamente, novos campos são adicionados em ordem de dicionário

reIndex

Adiciona um bloqueio global de escrita até que a reconstrução do índice seja concluída

copydb, clone

Não são mais suportados (removidos oficialmente na 4.2)

Atualizando para a 4.2 (via 3.6 → 4.0 → 4.2, inclui todas as alterações acima, mais as seguintes):

Alteração

Descrição

Comando group

Removido (obsoleto desde a 3.4, removido oficialmente na 4.2). Use db.collection.aggregate() ou mapReduce() em vez disso.

copydb, clone

Removidos (não suportados desde a 4.0, removidos oficialmente na 4.2)

cloneCollection

Não é mais suportado. Use mongoexport/mongoimport em vez disso.

geoNear

Não é mais suportado. Use $geoNear (estágio de agregação) em vez disso.

repairDatabase

Não é mais suportado

afterClusterTime

Não é mais suportado

Retryable Writes

Ativado por padrão em drivers open-source

Nota

O comando group ainda está disponível no MongoDB 4.0, mas está marcado como obsoleto. Ele é removido oficialmente na versão 4.2. Se o seu código utiliza o comando group, você deve alterá-lo para aggregate ou mapReduce antes de atualizar para a 4.2.

Para descrições completas das alterações de compatibilidade de cada versão, consulte Compatibility changes in MongoDB major version upgrades.

3. Minha instância pode ser atualizada localmente? Caminho de atualização

Quando ler esta seção: Você sabe que precisa atualizar, mas não tem certeza se a instância pode ser atualizada diretamente pelo console ou se requer migração.

3.1 Referência rápida de caminho de atualização

Encontre seu caminho de atualização com base na arquitetura e no tipo de armazenamento da sua instância:

Arquitetura

Tipo de armazenamento

Versão atual

Alvo da atualização

Método de atualização

Standalone

Disco em nuvem de uso geral

3.4

Atualização direta não suportada

Necessária nova instância + migração via DTS

Replica set

Disco local

3.4

4.0 ou 4.2

Atualização direta pelo console

Replica set

Disco em nuvem

3.4

4.0 ou 4.2

Atualização direta pelo console

Sharded cluster

Disco local

3.4

4.0 ou 4.2

Atualização direta pelo console

Sharded cluster

Disco em nuvem dedicado

3.4

4.0 ou 4.2

Atualização direta pelo console

Serverless

4.2

Nenhuma versão superior disponível

Importante

Para atualizar para uma versão superior à 4.2 (como 5.0, 6.0, 7.0 ou 8.0), atualize primeiro para a 4.2 e depois atualize passo a passo. Alternativamente, crie uma nova instância de versão superior e migre os dados usando o DTS.

3.2 Por que instâncias standalone não podem ser atualizadas diretamente?

A arquitetura standalone difere da arquitetura replica set/sharded cluster. Instâncias standalone não possuem o mecanismo de alta disponibilidade dos replica sets, e o método de atualização contínua usado pelo recurso de atualização do console não se aplica à arquitetura standalone. Portanto, instâncias standalone 3.4 devem ser atualizadas da seguinte forma:

  1. Compre uma nova instância de versão superior (como um replica set 4.2).

  2. Use o DTS (Data Transmission Service) para migrar dados da instância antiga para a nova instância.

  3. Após a conclusão da migração, alterne seus negócios para a nova instância.

Nota

O MongoDB 4.2 suporta a compra de instâncias standalone. Se você deseja manter uma arquitetura standalone, pode adquirir uma instância standalone 4.2.

3.3 A versão 4.2 de disco local é a versão máxima atualizável

Instâncias de disco local só podem ser atualizadas até a versão 4.2 via console. Para atualizar para a 5.0 ou superior, crie uma nova instância de disco em nuvem e migre os dados usando o DTS.

3.4 É possível atualizar diretamente da 3.4 para a 4.2 (pulando a 4.0)?

Sim. O console suporta a seleção direta da 4.2 como alvo da atualização. O backend realiza a atualização da versão principal passo a passo (3.4 → 3.6 → 4.0 → 4.2), e cada etapa de versão causa uma breve desconexão. Não é necessária intervenção manual nas versões intermediárias.

4. Checklist pré-atualização

Quando ler esta seção: Você determinou o caminho de atualização e está se preparando para iniciá-la.

Antes de iniciar a atualização, confirme cada item:

  • Confirme a arquitetura da instância (standalone/replica set/sharded cluster) e o tipo de armazenamento (disco local/disco em nuvem)

  • Para sharded clusters, confirme se o tipo de protocolo da instância é protocolo MongoDB (instâncias com protocolo DynamoDB não suportam atualizações)

  • Para sharded clusters, entenda que o balancer é parado automaticamente durante a atualização e reiniciado automaticamente após a conclusão da atualização

  • Confirme o caminho de atualização (atualização direta pelo console ou migração via DTS)

  • Confirme a versão de destino (4.0 ou 4.2)

  • Verifique se o espaço livre em disco é de pelo menos 20%

  • Crie manualmente um backup completo

  • Verifique se o seu código usa comandos removidos (group, copydb, clone, geoNear, cloneCollection, repairDatabase, etc.)

  • Confirme a compatibilidade da versão do Java Driver com a versão alvo do MongoDB

  • Confirme se sua aplicação possui um mecanismo de reconexão

  • Agende a atualização para fora do horário de pico

  • Use a string de conexão de alta disponibilidade ConnectionStringURI

5. Procedimentos de atualização

Quando ler esta seção: Você completou o checklist pré-atualização e precisa dos passos operacionais específicos.

5.1 Caminho A: Atualização direta pelo console (replica set/sharded cluster)

Aplica-se a: Instâncias replica set ou sharded cluster 3.4 de disco local/disco em nuvem.

Passo 1: Backup manual

Antes de atualizar, recomendamos criar manualmente um backup completo. Como downgrades não são suportados após a atualização, você pode restaurar os dados de backup em uma nova instância para recuperação rápida dos negócios, se necessário.

Passo 2: Verificar espaço em disco

Garanta que o espaço livre em disco seja de pelo menos 20%. Se o espaço for insuficiente, consulte as alternativas na Seção 2.6.

Passo 3: Executar a atualização

  1. Faça login no console do MongoDB.

  2. Na lista de instâncias, clique em ID da instância alvo para acessar a página Basic Information.

  3. Na área Basic Information, passe o mouse sobre Upgrade Database Version e clique em versão principal alvo (4.0 ou 4.2).

  4. Na caixa de diálogo de confirmação, clique em OK.

Nota

Ao atualizar a versão principal, o sistema atualiza automaticamente para a versão secundária mais recente disponível para aquela versão principal.

Passo 4: Aguardar a conclusão da atualização

  • Durante a atualização, o status da instância é exibido como "Upgrading".

  • O processo de atualização envolve de 2 a 3 desconexões breves de aproximadamente 30 segundos cada. Garanta que sua aplicação possua um mecanismo de reconexão.

  • Após a conclusão da atualização, o status da instância retorna para "Running".

  • Se a tarefa de atualização mostrar "Upgrading" por um período prolongado, você pode alterar o tempo de switchover para "Switch Immediately" para acelerar a conclusão.

5.2 Caminho B: Migração via DTS (instâncias standalone)

Aplica-se a: Usuários de instâncias Standalone 3.4.

Passo 1: Comprar uma nova instância

  1. Compre uma nova instância do MongoDB com versão 4.0 ou 4.2.

  2. Recomendamos selecionar a mesma região e zona da instância original para garantir conectividade de rede.

  3. O espaço de armazenamento da nova instância não deve ser inferior ao espaço de armazenamento utilizado da instância original.

Nota

O MongoDB 4.0 não oferece compra de instâncias standalone; você precisa adquirir uma instância replica set. O MongoDB 4.2 suporta instâncias standalone.

Passo 2: Configurar a migração via DTS

  1. Acesse o console do DTS.

  2. Crie uma tarefa de migração de dados. Selecione a instância original 3.4 como banco de dados de origem e a nova instância de versão superior como banco de dados de destino.

  3. Selecione o tipo de migração:

  • Migração completa: Migra todos os dados. Adequado para cenários onde tempo de inatividade é aceitável. A migração completa é gratuita.

  • Migração completa + incremental: Executa primeiro a migração completa e depois sincroniza continuamente os dados incrementais. Adequado para cenários que exigem switchover sem tempo de inatividade.

Passo 3: Sobre o oplog (necessário para migração incremental)

Se você escolher a migração incremental, garanta que o oplog esteja habilitado na instância de origem.

  • Instâncias Standalone 3.4 não têm o oplog habilitado por padrão.

  • Para habilitar o oplog, envie um ticket para contatar o suporte técnico. Habilitar o oplog requer uma reinicialização da instância. Execute esta operação fora do horário de pico.

  • Instâncias replica set e sharded cluster têm o oplog habilitado por padrão; nenhuma ação adicional é necessária.

Nota

A migração via DTS não migra bancos de dados do sistema (admin, local, config) por padrão. Garanta que seus bancos de dados de negócios estejam completos.

Passo 4: Alternar conexões de negócios

  1. Após a conclusão da migração completa (ou quando a latência de sincronização incremental se aproximar de 0), pause as escritas de negócios.

  2. Aguarde a conclusão da sincronização de dados incrementais.

  3. Atualize a string de conexão do banco de dados no código da sua aplicação para apontar para a nova instância.

  4. Retome as escritas de negócios.

  5. Após confirmar que os negócios estão funcionando normalmente, libere a instância antiga.

Importante

As strings de conexão das instâncias antiga e nova são diferentes. O formato da string de conexão da nova instância pode diferir da instância antiga (o sufixo de domínio pode ser diferente). Certifique-se de atualizar todas as configurações de conexão.

5.3 Verificação pós-atualização

Após a conclusão da atualização, execute as seguintes verificações:

  1. Confirmação de versão: Confirme no console que a versão do banco de dados mudou para a versão alvo.

  2. Teste de conexão: Conecte-se à instância usando um cliente e confirme que a conexão está normal.

  3. Integridade dos dados: Verifique se os dados críticos de negócios estão completos.

  4. Funcionalidade da aplicação: Teste as funções principais de negócios para confirmar que estão funcionando adequadamente.

  5. Monitoramento de desempenho: Observe as métricas de desempenho após a atualização para confirmar que estão normais.

6. E se eu não conseguir atualizar a tempo?

Quando ler esta seção: Sua instância está prestes a expirar e você não consegue concluir a atualização a tempo, ou sua instância já expirou e está bloqueada.

6.1 A instância está prestes a expirar, mas não pode ser atualizada a tempo

Se você não conseguir concluir a atualização antes da expiração da instância, envie um ticket o mais rápido possível com as seguintes informações:

  • ID da instância

  • Data de expiração atual

  • Plano de atualização e cronograma

A equipe de suporte técnico prestará assistência com base na sua situação específica.

6.2 A instância expirou e está bloqueada

Se sua instância expirou e entrou no estado de bloqueio:

  1. Cronograma de bloqueio: Do dia 1 ao dia 15 após a expiração, a instância fica bloqueada e inacessível. No 16º dia após a expiração, os recursos de computação da instância são liberados. No 23º dia após a expiração, os dados deixam de ser retidos.

Nota

O cronograma acima aplica-se a instâncias de disco local. Para instâncias de disco em nuvem (ESSD), os recursos de computação são liberados no 16º dia após a expiração, e a retenção de dados depende da política de retenção de backup: se a política for "Excluir todos os conjuntos de backup imediatamente após a liberação da instância", os conjuntos de backup são retidos por 7 dias; se a política for de retenção de longo prazo, os dados são retidos por um período maior. Para mais informações, consulte Recycle bin.

  1. Método de recuperação: Envie um ticket imediatamente com o ID da instância e a descrição da situação. A equipe de suporte técnico ajudará você a restaurar o acesso à instância.

  2. Atualize imediatamente após a recuperação: Após o acesso ser restaurado, atualize a versão principal do banco de dados o mais rápido possível.

Importante

Certifique-se de enviar um ticket antes que os dados sejam liberados. Para instâncias de disco local, envie um ticket antes do 23º dia após a expiração. Para instâncias de disco em nuvem, confirme o prazo com base na política de retenção de backup.

Aviso

Instâncias standalone não podem ser restauradas da lixeira após a liberação. Se sua instância usa arquitetura standalone, envie um ticket imediatamente durante o período de bloqueio (do dia 1 ao dia 15 após a expiração). Não espere até que os recursos de computação sejam liberados. Para mais informações, consulte Recycle bin precautions.

7. Perguntas frequentes

P1: Minha instância está prestes a expirar e não consigo renová-la. O que devo fazer?

R: Envie um ticket imediatamente para explicar a situação. Se sua instância for um replica set ou sharded cluster, você também pode atualizar diretamente para a 4.0 ou 4.2 pelo console. Após a atualização, você pode renovar normalmente.

P2: O console não mostra a opção "Upgrade Database Version"

R: O motivo mais provável é que sua instância usa arquitetura standalone. Instâncias Standalone 3.4 não suportam atualização direta pelo console e requerem migração via DTS para uma nova instância. Consulte a Seção 5.2 para os passos da operação. Se você confirmar que sua instância não é standalone, mas ainda assim não consegue ver a opção de atualização, envie um ticket com uma captura de tela do console.

P3: Por que a renovação automática parou de funcionar?

R: A partir de 30 de junho de 2026, o MongoDB 3.4 deixa de suportar services de renovação, o que faz com que a renovação automática pare de funcionar. O sistema notificará você via SMS e mensagens internas antes da data do EOFS. Você precisa atualizar a versão principal do banco de dados para restaurar a renovação.

P4: Devo atualizar para a 4.0 ou 4.2?

R:

  • Se o seu código usa o comando group, recomendamos atualizar primeiro para a 4.0 (o comando group ainda está disponível, mas obsoleto na 4.0). Após concluir a refatoração do código, atualize para a 4.2.

  • Se você não usa o comando group, pode atualizar diretamente para a 4.2. A versão 4.2 suporta recuperação de espaço em disco via console (compact), enquanto a 4.0 não suporta.

P5: Preciso modificar meu código Java após a atualização?

R: Atualizar da 3.4 para a 4.0/4.2 geralmente não requer modificações no código Java, mas confirme:

  • Você não está usando o comando group (removido na 4.2)

  • Você não está usando comandos removidos como copydb, clone, cloneCollection, geoNear ou repairDatabase

  • Sua versão do Java Driver é compatível com a versão alvo do MongoDB (recomendamos usar a versão do Driver recomendada oficialmente pelo MongoDB, consulte Matriz de Compatibilidade de Drivers)

P6: Quanto tempo leva para migrar 200 GB de dados?

R: Usando a migração via DTS, 200 GB de dados geralmente são concluídos em algumas horas. A migração completa é gratuita. Se for necessária migração incremental (switchover sem tempo de inatividade), você deve primeiro habilitar o oplog na instância de origem.

P7: Posso cancelar o processo de atualização?

R: Uma tarefa de atualização em andamento não pode ser cancelada. No entanto, você pode modificar o tempo de switchover para adiar a troca até fora do horário de pico. Recomendamos iniciar atualizações fora do horário de pico.

P8: Apenas 2 nós são exibidos no console do replica set após a atualização

R: Isso é normal. O nó Hidden do replica set não é exibido no console por padrão. A instância ainda mantém uma arquitetura de três nós, o que não afeta a alta disponibilidade.

P9: Os dados são retidos após a expiração da instância?

R:

  • Dia 1 a 15 após a expiração: A instância fica bloqueada e inacessível, mas os dados ainda são retidos.

  • Dia 16 após a expiração: Os recursos de computação são liberados. Os dados são retidos por um período baseado na política de retenção de backup.

  • Dia 23 após a expiração: Os dados deixam de ser retidos (disco local). Para instâncias de disco em nuvem, a retenção de dados depende da política de retenção de backup.

Para recuperar dados, envie um ticket imediatamente. Após o acesso ser restaurado, você pode exportar os dados. Após a conclusão da exportação, você pode cancelar a assinatura da instância.

Nota

Instâncias standalone não podem ser restauradas da lixeira após a liberação. Se sua instância usa arquitetura standalone, envie um ticket imediatamente durante o período de bloqueio (do dia 1 ao dia 15).

P10: Existem problemas de compatibilidade da 3.4 para a 4.0?

R: Não há problemas de compatibilidade de alto risco conhecidos da 3.4 para a 4.0. As principais alterações incluem o aggregate retornando um cursor em vez de um único documento, a opção de consulta snapshot deixando de ser suportada e o reIndex adicionando um bloqueio global de escrita. Recomendamos verificar seu código em relação à lista de alterações de compatibilidade na Seção 2.7 antes de atualizar.

P11: Posso mudar para o faturamento pagamento conforme o uso após o EOFS?

R: Não. Após o EOFS, você não pode renovar nem mudar para o faturamento pagamento conforme o uso. Após a expiração, a instância entra em um período de bloqueio de 15 dias, após o qual os recursos são liberados. A única solução é atualizar a versão principal do banco de dados.

P12: Como posso concluir a atualização sem pessoal de operações?

R: Recomendamos o seguinte:

  1. Envie um ticket com as informações da sua instância e requisitos de atualização. A equipe de suporte técnico fornecerá assistência.

  2. Se você tiver uma instância standalone, a migração via DTS é necessária. Esta operação é relativamente complexa; recomendamos buscar assistência de pessoal técnico profissional.

  3. Entre em contato com um parceiro da Alibaba Cloud para services de atualização.

P13: A atualização falha com o erro "InvalidSaleComponentFault"

R: Isso geralmente ocorre porque a especificação selecionada não está disponível para a versão alvo. Por exemplo, o tipo dedicado pode não ter uma especificação de 8 núcleos e 32 GB. Selecione uma especificação suportada pela versão alvo durante a atualização ou envie um ticket para confirmar a lista de especificações disponíveis.

P14: O Navicat não consegue conectar a instâncias 3.4

R: A versão 3.4 pode ter problemas de compatibilidade com drivers mais recentes do Navicat. Recomendamos usar uma versão mais antiga do driver do Navicat ou usar o mongo shell / mongosh para conectar. Após atualizar para a 4.0/4.2, você pode usar a versão mais recente do Navicat.

Apêndice: Documentos relacionados

Documento

Descrição

Upgrade the major version of a database

Documentação oficial de operações de atualização

MongoDB lifecycle policy

Documentação oficial de ciclo de vida

Compatibility changes in MongoDB major version upgrades

Descrições de alterações de compatibilidade

Recycle bin

Recuperação de instância expirada/bloqueada

Migração de dados DTS

Guia de operações de migração via DTS