DBAtlas · Atlas de operações de banco de dados

Verificação de compatibilidade/prontidão antes do upgrade

Oracle

-- Recommended method for 19c and later (AutoUpgrade analyze mode):
-- $ java -jar autoupgrade.jar -config db.cfg -mode analyze
-- Legacy/alternative: preupgrade script (produces a report only):
-- $ $NEW_ORACLE_HOME/jdk/bin/java -jar $NEW_ORACLE_HOME/rdbms/admin/preupgrade.jar FILE TEXT DIR /tmp

O modo 'analyze' do AutoUpgrade gera um relatório pré-upgrade sem alterar dados; lista os avisos que precisam ser corrigidos e os itens que serão resolvidos automaticamente. Sempre execute-o antes do upgrade real.

PostgreSQL

# With the new version's binaries, compatibility check only (moves no data):
$ pg_upgrade \
    --old-datadir=/var/lib/pgsql/16/data \
    --new-datadir=/var/lib/pgsql/17/data \
    --old-bindir=/usr/pgsql-16/bin \
    --new-bindir=/usr/pgsql-17/bin \
    --check

--check verifica se o upgrade é viável sem alterar nenhum dado (informa extensões ausentes, tipos de dados incompatíveis etc.). --check também pode ser executado com o cluster antigo em funcionamento; o upgrade real é feito com os dois clusters parados.

MySQL

-- 8.0 and later: Upgrade Checker utility (MySQL Shell):
-- $ mysqlsh -- util check-for-server-upgrade { --user=root --host=localhost }
-- Table consistency for legacy 5.7->8.0:
$ mysqlcheck --all-databases --check-upgrade -u root -p

O util.checkForServerUpgrade() do MySQL Shell informa recursos removidos, conflitos com palavras reservadas e definições incompatíveis. A partir do 8.0, o próprio servidor faz o upgrade do dicionário na inicialização; um mysql_upgrade separado não é mais necessário.

SQL Server

-- Run from the desktop with Data Migration Assistant (DMA):
-- DmaCmd.exe /AssessmentName=... /AssessmentDatabases=...
-- (Produces compatibility/deprecated feature and blocker reports.)

O Data Migration Assistant (DMA) substituiu o antigo Upgrade Advisor; informa recursos obsoletos, breaking changes e impedimentos por banco de dados. Execute-o antes do upgrade e resolva os achados.

MongoDB

// Verify the current Feature Compatibility Version (FCV):
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
// Compatibility items (deprecations) in the release notes are reviewed manually.

Antes de atualizar a versão do binário, o FCV deve ser igual à versão atual; caso contrário, o upgrade é bloqueado. O MongoDB não tem um 'scanner de obsolescência' automático; as notas de compatibilidade da release são revisadas manualmente.

Redis

# Not applicable: Redis has no separate pre-upgrade readiness tool.
# Checklist: read the target version's release notes for RDB/AOF persistence format,
# changed configuration directives, and removed commands/arguments.

Os upgrades do Redis geralmente são compatíveis para frente; como não há um scanner oficial de prontidão, verifique manualmente nas release notes o formato dos arquivos RDB/AOF, as diretivas de configuração removidas e as mudanças de comandos.

Elasticsearch

GET _migration/deprecations
# For a specific component: GET <index>/_migration/deprecations

A Deprecation Info API lista como 'critical' / 'warning' as configurações de cluster, nó, índice e ML que causarão problemas na passagem para a próxima versão major. O Kibana Upgrade Assistant exibe os mesmos dados visualmente.

Abrir no DBAtlas →