1. Start
  2. Unternehmen
  3. Blog
  4. Wie bereitet man heute das Upgrade seiner Datenbanken nach Oracle 23ai vor - ohne dass die 23ai on-premises verfügbar ist?

Wie bereitet man heute das Upgrade seiner Datenbanken nach Oracle 23ai vor - ohne dass die 23ai on-premises verfügbar ist?

Die Zukunft des Datenbankupgrades

Wie viele bereits wissen, ist das Autoupgrade-Tool von Oracle in der Zukunft die einzige supportete Möglichkeit für Upgrades. Das kann man in den Desupport-Notes der 23ai Datenbank auch nachlesen.

Das Autoupgrade-Tool - und das wissen die meisten nicht - unterstützt das Upgrade auf Oracle Datenbankversion 23ai schon mit Release 24 (also seit etwa März diesen Jahres). Die Frage stellt sich daher, wie kann man das Autoupgrade-Tool nun nutzen, um sich auf das Upgrade nach 23ai mit seinen vorhandenen Datenbanken optimal vorzubereiten? Gerade jetzt, wo die vielleicht ruhige Zeit des Jahres ansteht, der offizielle Release-Termin der 23ai aber auf "irgendwann im Kalenderjahr 2025" (mal wieder) verschoben wurde?

 

Die Vorbereitung

Zuerst einmal muss aus dem Oracle Support unter der Document ID 2485457.1 die aktuellste Version des autoupgrade.jar heruntergeladen werden.
Aktuell ist dies ein Build aus dem Oktober 2024 (24.7.241021).
Nun kann das autoupgrade.jar auf den Server kopiert und die Funktionsfähigkeit getestet werden. Sollte auf dem Server kein Java installiert sein, kann das JDK aus dem höchsten Oracle-Home Releasestand verwendet werden. Das funktioniert bisher immer.
Die Unterstützung des direkten Upgrades nach 23ai von Seiten Oracles beschränkt sich auf 19c und 21c Datenbanken, d.h. ältere Datenbankversionen können mit dem Autoupgrade-Tool nicht direkt vorbereitet werden auf ein Upgrade nach 23ai. Hier ist also vorgängig ein Zwischenschritt (nach 19c) notwendig oder z.B. Datenmigration mit Datapump Export-Import ein möglicher Weg, um von älteren Datenbankversionen nach 23ai umzuziehen. Mit Datapump lässt sich aber kein Vorab-Test durchführen.

Funktioniert die Ausführung des autoupgrade.jar (java -jar autoupgrade.jar -version) auf dem Server, wird als nächstes für die Datenbank, die für das 23ai Upgrade vorbereitet werden soll, eine Config-Datei angelegt.

Hierbei sind folgende Angaben wichtig:

  • die Log-Verzeichnisse (global und pro DB)
  • Welche SID getestet werden soll
  • Das Source Oracle Home - dieses muss ein 19c oder 21c Datenbankhome sein
  • Das Target Oracle Home - wird zwar gesetzt, dieses Verzeichnis existiert aber nicht - die Datenbank ist on-premises ja noch nicht verfügbar
  • Start_time und upgrade_node können default (NOW/localhost) gesetzt werden
  • Wichtig: Die target_version zieht sich das Autoupgrade-Tool normalerweise aus dem Target Home. Da dieses aber nicht existiert, ist es wichtig, hier als target_version 23 fix zu setzen.

Die Analyse der vorhandenen Datenbank

Ist diese Vorbereitung erledigt, kann nun das Autoupgrade-Tool im Analyze-Mode gegen die Source-Datenbank laufen gelassen werden. Hierbei finden KEINE Änderungen in der Source-Datenbank statt, d.h. dieses Vorgehen ist völlig ungefährlich.
Wichtig ist allerdings, dass alle pluggable Databases (PDB) geöffnet sind. PDBs, die sich im Mount-Status befinden, werden nicht analysiert.

Sind alle PDBs geöffnet kommt auch kein Warnhinweis mehr und der entsprechende Autoupgrade-Job startet mit der Analyse der vorhandenen Datenbank.

 Mit dem Befehl "status" kann der Fortschritt der Analyse aller Jobs auf dem Autoupgrade CLI angezeigt werden.

Um die Details zu den einzelnen Datenbanken zu sehen, empfiehlt sich die Erweiterung des "status" Befehls um die Nummer des Jobs. Nun sieht man auch, dass die 4 Datenbanken aus dem "status" Befehl eine Seed PDB, zwei Benutzer PDBs und ein Root Container sind.

Nach wenigen Minuten sollte der Job erfolgreich beendet sein. Fehler treten in der Analyse-Phase so gut wie keine auf.

Für die analysierte Datenbank steht nun im Prechecks-Unterverzeichnis der Log-Verzeichnisse für den Job das Analyse-Ergebnis (in verschiedenen Formaten, unter anderem JSON, Text und HTML) bereit.

Die erste Übersicht zeigt bereits, dass es Komponenten in der 19c Datenbank gibt, die bei einem Upgrade nach 23ai entfernt würden. Hierbei handelt es sich um Reste von Oracle Multimedia (gelb markiert).

Schaut man nun in den Detailbereichen der Datenbanken (CDB und PDBs) nach, erhält man hier wertvolle Informationen, wie mit solchen Komponenten umzugehen ist. Das Autoupgrade Tool empfiehlt hier z.B. einen Blick in verschiedene Support-Notes zu werfen.

In der hier analysierten Datenbank (die schon aus einer 12c Umgebung upgegradet wurde) wurde vom Autoupgrade-Tool auch eine Konfiguration des traditionellen Auditings gefunden. Das traditionelle Auditing wurde vor einiger Zeit von Oracle mit Unified Auditing erst ergänzt und dann ersetzt - bzw. ist nun erstmals offiziell desupported, so dass auf das Unified Auditing gewechselt werden muss.
Da die Konfiguration des Auditing eine durchaus aufwändige Sache sein kann, empfiehlt es sich, die Konfiguration auf der vorhandenen Datenbank schon anzupassen, noch bevor die Upgradeplanung nach 23ai offiziell startet.

Gegebenenfalls findet das Autoupgrade-Tool bereits Dinge im Bereich POST-Check, die dann auf der 23ai Datenbank ausgeführt werden müssen, wie die Änderung des LOB-Types auf einer Audit-Tabelle. Dies kann natürlich in der bisherigen Umgebung noch nicht vorbereitet werden, gibt aber einen Hinweis auf gegebenenfalls manuell durchzuführende Nacharbeiten (und damit eventuell verbundener Downtime) bei einem späteren Upgrade.

Getestet wurde übrigens, auch wenn die Screenshots jetzt alle aus einer Linux-Umgebung stammen, die Analysemethode auch mit einer 19.8 Datenbank unter MS Windows. Diese Vorgehensweise sollte also auf allen supporteten Betriebssystemen angewendet werden können.

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich