„Upgrade“ oder „Migration“ – wie heißt das Kind denn nun?

19. April 2026 0 Von Markus Flechtner

„Beim Kunden haben wir eine Migration unserer Datenbank von Oracle 19c nach Oracle 26ai gemacht“, sagte mir letztens ein Kollege. Was denn nun? Upgrade oder Migration? Bei der Oracle Datenbank gibt es einen wesentlichen Unterschied zwischen einem Upgrade und einer Migration, und beide Begriffe beziehen sich auf unterschiedliche Prozesse und Zielsetzungen.

Upgrade

Ein Upgrade bedeutet, dass die bestehende Oracle-Datenbank auf eine neuere Version derselben Plattform angehoben wird. Es betrifft lediglich die Datenbank-Software und die internen Strukturen der Datenbank (Data Dictionary) und ändert nichts an der zugrunde liegenden Hardware oder Betriebssystemumgebung. Daten werden nicht bewegt.

Beispiel: Ein Upgrade von Oracle 11g auf Oracle 12c oder von Oracle 19c auf eine neuere Version.

Merkmale

  • Gleiche Hardware (z. B. weiterhin Intel/Linux)
  • Gleiches Betriebssystem (mit kompatibler Version)
  • Gleiche Endianness (z. B. weiterhin x86 → x86)
  • Gleiches Datenformat / gleiche Architektur
  • Nur die Oracle‑Version ändert sich (z. B. 12c → 19c)
  • Daten bleiben physisch am selben Ort

Werkzeuge

  • dbua (desupported mit Oracle 26ai)
  • dbupgrade (desupported mit Oracle 26ai)
  • autoupgrade

Wichtig: Ein Upgrade ist in der Regel weniger komplex als eine Migration, da die bestehende Plattform und Architektur erhalten bleiben.

Migration:

Eine Migration bezieht sich auf den Umzug der Datenbank auf eine andere Plattform, Architektur oder Infrastruktur. Dabei können auch andere Aspekte der Umgebung oder der Datenbank geändert werden. Grundsätzlich werden bei einer Migration Daten „bewegt“. Eine Migration kann auch einen Versionswechsel beinhalten.

Beispiele:

  • Migration von einer Oracle-Datenbank auf einem lokalen Server in eine Oracle-Datenbank in der Cloud
  • Wechsel von einer Oracle-Datenbank auf Windows zu Oracle auf Linux.
  • Transfer einer Non-CDB auf einen anderen Server mit gleichem Betriebssystem und Wechsel in die CDB-Architektur ink. Upgrade auf Oracle 26ai

Gründe für eine Migration

  • Wechsel des Betriebssystems (z. B. AIX → Linux)
  • Wechsel der Hardware (POWER → x86)
  • Wechsel der Endianness (Big Endian ↔ Little Endian)
  • Wechsel des Storage
  • Wechsel der Datenbankform (z. B. non‑CDB → CDB with PDBs)
  • Cloud‑Migration (OCI, AWS, Azure)

Werkzeuge:

  • autoupgrade (Migration -> Multitenant)
  • Golden Gate
  • DataPump
  • Transportable Tablespaces (auch plattformübergreifend, xTTS)
  • RMAN Cross-Plattform

Generell gilt, dass die Grenzen zwischen Upgrade und Migration fließend sind. Wenn ich meine Datenbankinhalte mit „Data Pump“ migriere, sprich: beispielsweise von einer 19c-Datenbank in eine 26ai-Datenbank auf dem gleichen Server transferiere, dann ist das technisch eine Migration, aber de-facto ändert sich nur die Version (Server etc. bleiben gleich).

Oracle sorgt für Verwirrung

Auch wenn der technische Unterschied zwischen „Upgrade“ und „Migration“ klar ist, sorgt die Oracle-Datenbank selbst für Verwirrung, wie man an folgendem Ablauf sieht:

oracle@euler:~/ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Mar 30 10:44:41 2026
Version 19.30.0.0.0
Copyright (c) 1982, 2025, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup upgrade;
ORACLE instance started.

Total System Global Area 9462346104 bytes
Fixed Size                  9187704 bytes
Variable Size            1744830464 bytes
Database Buffers         7683964928 bytes
Redo Buffers               24363008 bytes
Database mounted.
Database opened.


SQL> select status from v$instance;

STATUS
------------
OPEN MIGRATE

Ein „Startup Upgrade“ bringt eine Datenbank also in den Status „Open Migrate“.

Zusammenfassung

  • Upgrade = Versionswechsel innerhalb derselben Umgebung. Daten werden nicht bewegt
  • Migration = Wechsel auf eine neue Plattform, Hardware, Datenbank-Architektur (CDB) oder Umgebung (z. B. anderes Betriebssystem oder Cloud). Daten werden in der Regel „bewegt“.