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 |
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?
Faça login no console do MongoDB.
Na lista de instâncias, verifique a coluna Database Version da sua instância.
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 |
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 |
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.
NotaAtualizaçõ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.
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.
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:
Limpe dados redundantes: Exclua coleções, índices ou dados temporários não utilizados para liberar espaço antes da atualização.
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.
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 |
Não retorna mais um único documento; retorna um |
|
Opção de consulta |
Não é mais suportada |
|
Ordenação de arrays |
O limite de memória do estágio de agregação |
|
Operações de atualização |
Ao atualizar múltiplos campos simultaneamente, novos campos são adicionados em ordem de dicionário |
|
|
Adiciona um bloqueio global de escrita até que a reconstrução do índice seja concluída |
|
|
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 |
Removido (obsoleto desde a 3.4, removido oficialmente na 4.2). Use |
|
|
Removidos (não suportados desde a 4.0, removidos oficialmente na 4.2) |
|
|
Não é mais suportado. Use |
|
|
Não é mais suportado. Use |
|
|
Não é mais suportado |
|
|
Não é mais suportado |
|
Retryable Writes |
Ativado por padrão em drivers open-source |
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
Faça login no console do MongoDB.
Na lista de instâncias, clique em ID da instância alvo para acessar a página Basic Information.
Na área Basic Information, passe o mouse sobre Upgrade Database Version e clique em versão principal alvo (4.0 ou 4.2).
Na caixa de diálogo de confirmação, clique em OK.
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:
Confirmação de versão: Confirme no console que a versão do banco de dados mudou para a versão alvo.
Teste de conexão: Conecte-se à instância usando um cliente e confirme que a conexão está normal.
Integridade dos dados: Verifique se os dados críticos de negócios estão completos.
Funcionalidade da aplicação: Teste as funções principais de negócios para confirmar que estão funcionando adequadamente.
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:
-
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.
AvisoO 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.
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.
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 comandogroupainda 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,geoNearourepairDatabaseSua 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 |
|
Conclua a atualização da versão principal e a renovação antes do 16º dia. |
|
Instâncias replica set |
|
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:
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.
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 |
|
Documentação oficial de operações de atualização |
|
|
Documentação oficial de ciclo de vida |
|
|
Descrições de alterações de compatibilidade |
|
|
Recuperação de instância expirada/bloqueada |
|
|
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 |
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?
Faça login no console do MongoDB.
Na lista de instâncias, verifique a coluna Database Version da sua instância.
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 |
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 |
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.
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.
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:
Limpe dados redundantes: Exclua coleções, índices ou dados temporários não utilizados para liberar espaço antes da atualização.
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.
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 |
Não retorna mais um único documento; retorna um |
|
Opção de consulta |
Não é mais suportada |
|
Ordenação de arrays |
O limite de memória do estágio de agregação |
|
Operações de atualização |
Ao atualizar múltiplos campos simultaneamente, novos campos são adicionados em ordem de dicionário |
|
|
Adiciona um bloqueio global de escrita até que a reconstrução do índice seja concluída |
|
|
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 |
Removido (obsoleto desde a 3.4, removido oficialmente na 4.2). Use |
|
|
Removidos (não suportados desde a 4.0, removidos oficialmente na 4.2) |
|
|
Não é mais suportado. Use |
|
|
Não é mais suportado. Use |
|
|
Não é mais suportado |
|
|
Não é mais suportado |
|
Retryable Writes |
Ativado por padrão em drivers open-source |
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 |
— |
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:
Compre uma nova instância de versão superior (como um replica set 4.2).
Use o DTS (Data Transmission Service) para migrar dados da instância antiga para a nova instância.
Após a conclusão da migração, alterne seus negócios para a nova instância.
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
Faça login no console do MongoDB.
Na lista de instâncias, clique em ID da instância alvo para acessar a página Basic Information.
Na área Basic Information, passe o mouse sobre Upgrade Database Version e clique em versão principal alvo (4.0 ou 4.2).
Na caixa de diálogo de confirmação, clique em OK.
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
Compre uma nova instância do MongoDB com versão 4.0 ou 4.2.
Recomendamos selecionar a mesma região e zona da instância original para garantir conectividade de rede.
O espaço de armazenamento da nova instância não deve ser inferior ao espaço de armazenamento utilizado da instância original.
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
Acesse o console do DTS.
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.
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.
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
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.
Aguarde a conclusão da sincronização de dados incrementais.
Atualize a string de conexão do banco de dados no código da sua aplicação para apontar para a nova instância.
Retome as escritas de negócios.
Após confirmar que os negócios estão funcionando normalmente, libere a instância antiga.
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:
Confirmação de versão: Confirme no console que a versão do banco de dados mudou para a versão alvo.
Teste de conexão: Conecte-se à instância usando um cliente e confirme que a conexão está normal.
Integridade dos dados: Verifique se os dados críticos de negócios estão completos.
Funcionalidade da aplicação: Teste as funções principais de negócios para confirmar que estão funcionando adequadamente.
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:
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.
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.
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.
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.
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.
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 comandogroupainda 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,geoNearourepairDatabaseSua 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.
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:
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.
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.
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 |
|
Documentação oficial de operações de atualização |
|
|
Documentação oficial de ciclo de vida |
|
|
Descrições de alterações de compatibilidade |
|
|
Recuperação de instância expirada/bloqueada |
|
|
Guia de operações de migração via DTS |