Zum Hauptinhalt springen

Sicherungsereignisse

CONZEPT 16-Server - Sicherungsereignisse Beschreibung der Sicherungsereignisse des CONZEPT 16-Servers

Sicherungsereignisse

Datenbanken sollten in regelmäßigen Abständen gesichert werden. Auch vor und nach größeren Eingriffen in den Datenbestand ist es unter Umständen sinnvoll eine zusätzliche Sicherung der Datenbank durchzuführen. Um eine Datenbank zu sichern müssen nur die physikalischen Datenbankdateien (<Datenbankname>.ca?) gesichert werden. Eine Sicherung der Log-Dateien ist sinnvoll, aber nicht notwendig. Die Transaktions-Log Dateien, sowie die temporäre Transaktionsdatei und die temporäre Datei des Datenbank-Prozesses müssen nicht gesichert werden. Im laufenden Betrieb der Datenbank ist dies zudem auch nicht möglich.

Datenbanken die beim CONZEPT 16-Server eingetragen sind, können grundsätzlich frei kopiert werden. Unter Windows sperrt der Datenbankserver die Datenbank aber exklusiv, wenn diese geöffnet wird. Das bedeutet, dass dann nur noch der CONZEPT 16-Server auf die Datenbank zugreifen kann. Unter Linux ist ein Kopieren aus Gründen des Dateisystems immer möglich. Ein Kopieren im laufenden Betrieb ist aber nicht sinnvoll, da sonst ein inkonsistenter Zustand der Datenbank gesichert wird. Haben alle Benutzer die Datenbank wieder verlassen, wird der exklusive Zugriff auf die physikalische Datenbankdatei wieder aufgelöst und die Datenbank kann wieder kopiert werden.

info

Wird eine zum Lesen und Schreiben geöffnete Datenbank gesichert, ist die Sicherung inkonsistent. Datenbanken müssen während eines Sicherungsereignisses kopiert werden.

Sicherungsereignisse (Backup-Ereignisse) ermöglichen ein Sichern von offenen Datenbanken mit angemeldeten Benutzern. Dazu wird die Datenbank vom CONZEPT 16-Server zeitweise im Read-Only Modus betrieben. Die Datenbank ist dann trotz der angemeldeten Benutzer kopierbar. Änderungen am Datenbestand werden während des Backup-Ereignisses gesichert und danach in die Datenbank geschrieben.

Ablauf eines Sicherungsereignisses

Beim Auslösen eines Backup-Ereignisses wird zunächst ein letztes Update-Ereignis ausgeführt und alle abgeschlossenen Transaktionen in die Datenbank geschrieben. Danach schließt der CONZEPT 16-Server die physikalische Datenbankdatei und öffnet sie im Read-Only Modus.

Die Datenbankdateien können nun während des Backup-Ereignisses kopiert werden. Update-Ereignisse werden während eines Backup-Ereignisses nicht durchgeführt. Alle abgeschlossenen Transaktionen werden im Datenbankcache und in der temporären Transaktionsdatei gesichert. Damit bei einem Serverausfall nicht alle abgeschlossenen Transaktionen verloren gehen, werden analog zum Update-Ereignis abgeschlossene Transaktionen in die aktuelle Transaktionslog-Datei geschrieben (siehe Transaktionen während Sicherungsereignissen ).

Nach einem Backup-Ereignis wird die Datenbank wieder im exklusiven Zugriff geöffnet. Falls das nicht gelingt, versucht dies der CONZEPT 16-Server wiederholt im Sekundenabstand. Wenn die Datenbank wieder exklusiv geöffnet werden kann, werden alle abgeschlossenen Transaktionen aus dem Datenbankcache und der temporären Transaktionsdatei in die Datenbank geschrieben. Erst dann ist das Backup-Ereignis korrekt beendet.

info

Um eine Datenbank auf ein Medium zu sichern, welches für den Sicherungsvorgang sehr lange benötigt, ist es sinnvoll die Datenbank zunächst einfach zu kopieren und danach mit der Kopie die Datensicherung durchzuführen. Somit ist die Datenbank nicht zu lange im Backup-Zustand. Das Initiieren des Backup-Zustandes und das anschließende Kopieren der Datenbank, sowie das Rücksetzen des Backup-Zustandes kann zum Beispiel über ein Skript durchgeführt werden (siehe nächster Abschnitt, Auslösen eines Sicherungsereignisses).

Auslösen eines Sicherungsereignisses

Die Zeitpunkte von Backup-Ereignissen werden wie andere Konfigurationseinstellungen in der Datenraumtabelle des Servers festgehalten ( Konfiguration des Servers ). Das Starten eines Backup-Ereignisses per Prozedur ist auch möglich (DbaControl ()). Das Backup-Ereignis kann zudem mit Hilfe des Script-Utilitys von der Konsole gestartet und gestoppt werden.

info

Solange eine Diagnose mit Recover oder Optimierung der Datenbank läuft, kann kein Backup-Ereignis gestartet werden. Ist eine Datenbank als Slave-Datenbank geöffnet (siehe Hot-Standby ), können auch keine Backup-Ereignisse gestartet werden.

Vom Volumenschattenkopiedienst von Windows werden die definierten Datenbanken (siehe Konfiguration des Servers ) automatisch in den Backup-Zustand versetzt, wenn sie geöffnet sind oder werden. Eine Slave-Datenbank kann in diesem Fall jedoch von der Volumenschattenkopie erfasst werden. Eine Umschaltung in den Read-Only Modus findet hier jedoch nicht statt.