Backup SAP MaxDB mit Veeam

Sie verwenden SAP MaxDB? Sie benötigen ein Backup Ihrer Datenbank mit Veeam? Lernen Sie hier welche Möglichkeiten bestehen um konsistente Backups Ihrer Datenbank und Transaktionslogs zu erstellen.

von Frank Wagner am 01.02.2022

Da es in Veeam keine eingebaute Unterstützung für die Sicherung von SAP MaxDB gibt, suchen viele Backup-Administratoren nach einer Möglichkeit, wie sie diese Datenbank sichern können.  

Generell ist es bei MaxDB - wie bei fast allen Datenbanken - erforderlich, dass sich die Datenbank-Volumes in einem konsistenten Zustand befinden, während das Backup ausgeführt wird.
Dies erfordert jedoch eine Unterstützung durch Veeam oder zumindest eine VSS (Windows Volume Shadow Copy Service) Integration der Datenbank. Es gibt aber keine direkte Unterstützung durch Veeam und auch SAP hat MaxDB nicht für VSS vorbereitet.

Für solche Fälle bietet Veeam die Möglichkeit, Pre-Freeze- und Post-Thaw-Skripte innerhalb eines Backup-Jobs zu verwenden.
 

Die Freezy-Lösung

Ein Pre-Freeze-Skript wird verwendet, um das VM-Dateisystem oder die Anwendung stillzulegen, bevor Veeam einen Backup-Snapshot erstellt. Nachdem der Backup-Snapshot erstellt wurde, ruft Veeam das Post-Thaw-Skript auf, das die entsprechenden Anwendung wieder in Betrieb nimmt.

Für MaxDB bedeutet dies, dass Sie eine Script verwenden müssen, das Aktualisierungen der Datenbank während der Erstellung des Snapshots verhindert. Typischerweise wird dies dadurch erreicht, dass der Log-Writer der DB angehalten wird, so dass beim Erstellen des Backups keine Änderungen unvollständig gespeichert sind.

Diese Lösung hat jedoch einige Nachteile:

  1. Datenbank wird stillstehen
    Das Anhalten des Log-Writers bedeutet, dass Ihre Datenbank während der Erstellung des Snapshots stillsteht, was ein DBA normalerweise um jeden Preis vermeiden möchte. Wenn zwischen dem Aufruf der Skripte etwas schief geht, steht Ihre Datenbank still, bis jemand den Log-Writer neu startet.

  2. Die Datenbank weiß nichts von der Sicherung
    Ein Hauptmerkmal aller Datenbanken ist, dass sie Point-in-Time-Wiederherstellungen ermöglichen. Das bedeutet, dass Sie Ihre Backups und Transaktionsprotokolle verwenden können, um die Datenbank wiederherzustellen und sie zu einem beliebigen Zeitpunkt wiederherzustellen (Recovery, zum Beispiel kurz bevor jemand Ihre Kundendaten gelöscht hat). Aber ohne der Datenbank mitzuteilen, dass es eine Sicherung gab, gibt es keine Möglichkeit, sie über den Snapshot hinaus wiederherzustellen.

  3. keine Überwachung
    SAP verfügt über eine Vielzahl von Tools zur Systemüberwachung (CCMS, Solution Manager, EWA...). Alle diese Tools überwachen auch Ihre Backups und Ihre Backup-Strategie für Best Practices. Wenn Sie jedoch Ihre Datenbank auf eine Weise sichern, die für SAP nicht sichtbar ist, werden Sie nie wissen, ob Ihre Backups wirklich funktionieren, bis Sie sie brauchen.

  4. Wie behandelt man Transaktionsprotokolle?
    Normalerweise erzeugt MaxDB Transaktionsprotokolle, die ebenfalls in eine Sicherung einbezogen werden müssen. Aber ohne Backup-Integration müssen Sie entweder die Transaktionsprotokolle komplett deaktivieren (und das macht Sinn, da Sie sie nie verwenden können) oder sie mit einem anderen Skript im Dateisystem löschen.

 
Was ist also die Alternative?
 

Verwendung eines VSS-Writers

Vor Jahren hatten wir hier bei dbosoft das gleiche Problem und haben schließlich unseren eigenen VSS Writer entwickelt. Dieser ermöglicht es MaxDB-Datenbanken mit allen Backup-Tools zu sichern, die VSS unterstützen. Einschließlich Veeam.
 

Wir haben unsere Lösung MaxBack VSS Writer genannt.

 
VSS (Windows Volume Shadow Copy Service) ist die Basistechnologie für alle Backup-Produkte, die konsistentes Backup unter Windows unterstützen, und ist nicht spezifisch für einen Anbieter von Backup-Tools. Um die VSS-Integration zu ermöglichen, ist ein Dienst erforderlich, der sich um die Pre- und Post-Backup Schritte (und die Wiederherstellung) kümmert.

 
MaxBack VSS Writer

 
Mit dem auf dem Datenbank-Host installierten MaxBack VSS Writer muss im Veeam einfach nur die Gastverarbeitung aktiviert werden (Option "application-aware processing" im Backup-Auftrag).
Es werden keine Skripte benötigt, es muss nichts in der Datenbank angehalten werden und die Transaktionsprotokolldateien werden ebenfalls automatisch verarbeitet.

 

Der VSS Writer arbeitet mit dem "External-Backup" Feature der MaxDB. Externe Backups sind wie normale Backups vollständig in MaxDB integriert.

 
Wenn Sie mehr über MaxBack mit Veeam erfahren möchten, schauen Sie hier vorbei: https://www.maxback.io/veeam.

     

  • Autor:   Frank Wagner