Pre-upgrade compatibility/readiness check
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 /tmpAutoUpgrade 'analyze' mode produces a pre-upgrade report without changing data; it lists warnings that must be fixed and items that will be resolved automatically. Always run it before the actual upgrade.
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 verifies that the upgrade is feasible without changing any data (reports missing extensions, incompatible data types, etc.). --check can also be run while the old cluster is running; the actual upgrade is done with both clusters stopped.
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 -pMySQL Shell's util.checkForServerUpgrade() reports removed features, reserved word conflicts, and incompatible definitions. From 8.0 on, the server performs the dictionary upgrade itself at startup; a separate mysql_upgrade is no longer needed.
SQL Server
-- Run from the desktop with Data Migration Assistant (DMA):
-- DmaCmd.exe /AssessmentName=... /AssessmentDatabases=...
-- (Produces compatibility/deprecated feature and blocker reports.)Data Migration Assistant (DMA) replaced the old Upgrade Advisor; it reports deprecated features, breaking changes, and blockers per database. Run it before the upgrade and resolve the findings.
MongoDB
// Verify the current Feature Compatibility Version (FCV):
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
// Compatibility items (deprecations) in the release notes are reviewed manually.Before upgrading the binary version, the FCV must equal the current version; otherwise the upgrade is blocked. MongoDB has no automatic 'deprecation scanner'; release compatibility notes are reviewed manually.
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.Redis upgrades are generally forward compatible; since there is no official readiness scanner, check the RDB/AOF file format, removed configuration directives, and command changes manually from the release notes.
Elasticsearch
GET _migration/deprecations
# For a specific component: GET <index>/_migration/deprecationsThe Deprecation Info API lists cluster, node, index, and ML settings that will cause problems when moving to the next major version as 'critical' / 'warning'. Kibana Upgrade Assistant visualizes the same data.