Pre-Migration (Items 1-18)

Schema & Data Assessment

  1. Document all source schemas, tables, views, and materialised views
  2. Catalogue all stored procedures, functions, triggers, and packages
  3. Map all data types to target equivalents — flag any without direct mapping
  4. Identify all sequences and auto-increment columns
  5. Document all foreign key relationships and cascading rules
  6. List all indexes — primary, unique, composite, partial, and expression-based
  7. Measure total data volume per table and per schema
  8. Identify tables with LOB/CLOB/BLOB columns exceeding 100MB

Environment & Infrastructure

  1. Provision target database with equivalent or greater resources
  2. Set up staging environment that mirrors production topology
  3. Configure network connectivity between source and target (VPN/peering)
  4. Verify sufficient disk space on target (2.5x source data size minimum)
  5. Set up monitoring and alerting on both source and target

Planning & Risk

  1. Define success criteria — what constitutes a "completed" migration?
  2. Document rollback procedure with estimated time for each step
  3. Test rollback procedure on staging — end to end, timed
  4. Identify all applications connecting to the source database
  5. Create communication plan for all stakeholders

During Migration (Items 19-32)

Execution

  1. Run schema migration first — verify all objects created successfully
  2. Validate row counts on each table after data load
  3. Run checksum validation on a sample of rows per table (minimum 1%)
  4. Verify all sequences are set to values higher than max existing IDs
  5. Confirm all indexes are created and match source definitions
  6. Run all stored procedures/functions against test data
  7. Verify trigger execution order matches source behaviour

Monitoring

  1. Monitor replication lag if using CDC — must be under threshold before cutover
  2. Track source database load during migration — watch for performance impact
  3. Monitor target database resource utilisation (CPU, memory, I/O)
  4. Log all errors and warnings — classify as blocking vs non-blocking
  5. Verify no schema changes occur on source during migration window
  6. Confirm backup of source database completed before cutover
  7. Validate that application read-only mode is enforced during cutover

Post-Migration (Items 33-47)

Validation

  1. Re-run full row count comparison — source vs target
  2. Execute top 20 business-critical queries — compare results
  3. Run application integration tests against target database
  4. Verify all scheduled jobs and cron tasks are migrated and running
  5. Confirm all reporting/BI tools connect and return expected data
  6. Validate audit trail and logging on target database

Performance

  1. Run ANALYZE/statistics update on all tables
  2. Compare query execution times: source baseline vs target
  3. Monitor P95 query latency for 48 hours post-cutover
  4. Tune connection pooling settings for new database driver

Compliance & Cleanup

  1. Verify encryption at rest and in transit on target
  2. Confirm access controls and roles are correctly migrated
  3. Update disaster recovery documentation with new database details
  4. Schedule source database decommission date (minimum 30 days post-migration)
  5. Document lessons learned and update migration runbook

Want this as a downloadable PDF? Get the full 47-item checklist with detailed verification steps: Download the Migration Checklist →

Ready to automate your next migration?

See how Dflux.ai handles schema mapping, validation, and rollback automatically.

Book a Free Demo →