DBAtlas · Database operations atlas

Migration wizard (data/schema migration)

You are migrating data/schema. Is it homogeneous or heterogeneous, and what is your downtime tolerance? Plan it step by step: assess → migrate → verify. Rehearse the cutover here first.

What are you migrating from and to?

Homogeneous: the same database engine (e.g. Oracle 19 → Oracle 23, or PostgreSQL to another server). Heterogeneous: a different engine (e.g. Oracle → PostgreSQL, MySQL → SQL Server). Heterogeneous migrations require much more compatibility work (data types, functions, PL/SQL).

  • Same engine, new server/version (homogeneous)
  • To a different engine (heterogeneous)
  • I am in the planning phase; how should I approach it?

What is your downtime tolerance?

This determines the migration method. If there is a maintenance window, the simplest path is dump/restore. If near-zero downtime is required, you load the initial data, keep it in sync with continuous replication (CDC) and perform a short cutover.

  • There is a maintenance window (downtime is acceptable)
  • Near-zero downtime is required

Have you assessed schema and type compatibility?

In a heterogeneous migration, the real work is not copying the data but resolving the differences: data types (VARCHAR2↔TEXT), functions (NVL↔COALESCE), auto-increment values, PL/SQL ↔ PL/pgSQL, removed/different features.

  • I have mapped the schema/type differences
  • I have not assessed them yet

Assess compatibility first

Before migrating, map the differences between source and target; if this step is skipped, the migration stalls halfway.

Offline migration (dump / restore)

The simplest and most reliable homogeneous method: take a consistent backup, load it into the target, verify, switch over.

Minimal downtime (CDC / replication)

Load the initial data, then keep the target in sync with the source via continuous replication; downtime occurs only during the short cutover.

Heterogeneous migration (to a different engine)

Convert the schema, move the data, adapt the logic, verify. Proceed in phases; do not migrate everything in one shot.

Open in DBAtlas →