Systemwiederherstellung SAP-System mit Oracle Datenbank

Ausgangssituation

In diesem Beitrag soll der Fall betrachtet werden, dass eine Virtuelle Maschine (VM) komplett ausfällt. Solch ein Szenario ist zum Beispiel denkbar bei einem Schaden im Rechenzentrum.

Als Voraussetzung für eine erfolgreiche Wiederherstellung müssen folgende Objekte Teil eines regelmäßigen Backups sein:

  • Datenbank: Zum einen wird ein komplettes Datenbank-Abbild benötigt (online oder offline). Außerdem empfiehlt es sich regelmäßig (am besten täglich) die Logs und Archive (inkrementelle Sicherung) zu speichern. Für dieses Backup werden die von SAP bereitgestellten BRTools verwendet. Eine einfache Kopie der Partition speichert keine konsistenten Abbilder der Datenbank.
  • Betriebssystem und SAP-Installation: Hiermit sind die Partitionen gemeint, auf denen sich die Betriebssystemdaten (z.B. "C:\") und die SAP-Installation befindet. Üblicherweise (aber nicht zwangsläufig) sind diese getrennt. Eine Anmerkung hierzu: diese Sicherung ist nicht zwingend erforderlich, erlaubt aber eine schnellere Wiederherstellung, und damit eine geringe Ausfallzeit.
  • Konfigurationsdateien: Lokale Einstellungen, die von der Standardkonfiguration abweichen, sollten dokumentiert und gesichert werden. Das können z.B. Datenbankverbindungseinstellungen oder SAP-Profildateien sein.

Wichtig ist, dass sowohl die Datenbank- als auch die Betriebssystemsicherungen räumlich getrennt an einem anderen Standort aufbewahrt werden, sodass im Falle eines physischen Schadens nicht auch die Backups betroffen sind.

Vorgehen zur Wiederherstellung

Zunächst muss einmal eine funktionierende VM wiederhergestellt werden. Dies kann ein frisch aufgesetztes System sein, inklusive einer neuen Betriebssysteminstallation. Dies kann der passende Weg sein, wenn das Ausgangsbetriebssystem beschädigt ist (z.B. durch Malware). Dafür wird das oben beschrieben Backup des Betriebssystems und der SAP-Installation nicht benötigt. Stattdessen wird ein SAP-System mit äquivalenten Release-Status - passend zum Backup - installiert.

In dem hier beschriebenen Szenario soll allerdings davon ausgegangen werden, dass ein Hardware-Schaden die Wiederherstellung notwendig gemacht hat, man also das Backup des Betriebssystems verwenden kann. Dies hat den Vorteil, dass der Schritt der SAP-Installation wegfällt, womit eine beträchtliche Zeitersparnis erreicht wird. Die Ausgangssituation ist nun eine VM, bei der zwar die Systempartition und die Partition der SAP-Installation dem Original entsprechen, die Datenbankpartition aber leer sind. Jetzt kann das Backen mithilfe der BRTools eingespielt werden.

Details zur Datenbank-Wiederherstellung

Vorbereitungen zum Backup

Zunächst einmal muss sichergestellt werden, dass die neue VM Zugriff auf die Backups hat. Dazu bindet man am einfachsten die Backups vom Backup-Server als Netzwerklaufwerk ein. Dort sollte sich auch die wichtigste Konfiguration für die Wiederherstellung befinden: die Datei init{SID}.sap. Diese Datei sollte identisch mit der Konfiguration sein, die für das Backup verwendet wird. Diese Konfiguration kann manuell in das Standardverzeichnis kopiert werden, in dem die BRTools die Konfiguration suchen (Festplatte der Oracle-Installation, typischerweise gleich SAP-Installation, Pfad "...\oralce\{SID}\{Version}\database\init{SID}.sap).

Prüfung der Backup-Konfiguration

In der eben erwähnten Konfiguration sollte zunächst geprüft werden, ob die darin erwähnten Verzeichnisse existieren. Das betrifft zum einen den Speicherort der Backups (siehe oben: Einhängen des Netzlaufwerks), aber auch die lokale Ordnerstruktur. Sollten lokale Ordner fehlen, weil Partition für z.B. Archive nicht Teil der VM-Wiederherstellung sind, müssen diese von Hand gelegt werden. Dabei ist darauf zu achten, dass der SAP-Nutzer ({SID}adm) Lesen- und Schreibberechtigungen hat.

Ausführung der BRTools

In den BRTools ist ein Programm BRRESTORE enthalten, welches mit dem SAP-Nutzer {SID}adm ausgeführt werden muss. Die Konfiguration liest dieses Programm aus der oben erwähnten Konfiguration automatisch, solange diese im Standardpfad vorhanden ist. Dieses Tool stellt nun aus dem Backupverzeichnis die entsprechenden Datenbank-Dateien lokal wieder her. Dieser Vorgang kann mehrere Stunden in Anspruch nehmen, je nach Datenbankgröße.

Kommt es bei der Ausführung zu Fehlern, müssen die Fehlerausgabe genauer analysiert werden. Typische Fehler sind, dass Ordnerstrukturen noch nicht vollständig wieder angelegt wurden, oder dass der SAP-Nutzer keine Schreibberechtigungen auf dieses Verzeichnis hat.

Nach dem Durchlauf von BRRESTORE kann man jetzt beginnen, die Datenbank und das SAP-System wieder hochzufahren.

Datenbank starten

Für den ersten Start der Datenbank wird empfohlen, den Dienst in einem Terminal (z.B. PowerShell) zu starten, um dort eventuell ausführlichere Fehlermeldungen zu erhalten.

Der SQL-Befehl "startup" führt häufig zunächst einmal zu einem Fehler, zusammen mit dem Hinweis, den "alert log" zu überprüfen. Diesen finden man (abhängig von der Installation) üblicherweise auf der Partition der Datenbank in einem Verzeichnis der Art "...\oracle\{SID}\saptrace\diag\rdbms\{sid}\{sid}\trace", wobei {SID} jeweils mit der Datenbank-ID zu ersetzen ist (Achtung: die IDs der CDB und PDB können sich unterscheiden).

Typische Fehlerursachen sind hier fehlende Control-Files. Diese müssen manuell aus dem Backup kopiert werden. Eine Liste der erwarteten Control-Files kann man mit dem Datenbankparameter "control_files" auslesen.

Ist die Datenbank gestartet und ein Verbindungstest war erfolgreich, kann man mit dem Start des SAP-Systems fortfahren.

SAP-System starten

Das SAP-System kann man wie gewohnt über die SAP Management Console starten. Etwaige Fehler werden dort protokolliert und dargestellt. Sofern die Erreichbarkeit der Datenbank sichergestellt ist, treten bei diesem Schritt selten Probleme auf.

Nun steht ein ausführlicher Test der Wiederherstellung an, bevor man das System wieder an die Nutzer übergibt.