Eine Datenbank im Einsatz speichert ständig Änderungen, es werden Datensätze hinzugefügt oder gelöscht. Die Durchführung von Backups in regelmäßigen Abständen ist wichtig, ermöglicht aber nicht, nach einem Zwischenfall die nach dem letzten Backup eingegebenen Daten wiederherzustellen. Dafür bietet 4D jetzt ein spezifisches Hilfsmittel: das Logbuch. Diese Datei sorgt für permanente Sicherheit der Daten der Datenbank.
Zusätzlich arbeitet 4D kontinuierlich mit dem Daten-Cache im Speicher. Alle Änderungen an den Daten der Datenbank werden im Cache zwischengespeichert, bevor sie auf die Festplatte geschrieben werden. Das beschleunigt die Operationen der Programme, da der Zugriff auf den Speicher schneller ist als auf die Festplatte. Tritt ein Zwischenfall ein, bevor die im Cache gespeicherten Daten auf die Festplatte geschrieben wurden, müssen Sie beim Wiederherstellen der Datenbank auch das aktuelle Logbuch integrieren.
Schließlich hat 4D Funktionen, die den Inhalt des Logbuchs analysieren, so dass ein Rollback der Operationen möglich ist, die in den Daten der Anwendung ausgeführt wurden. Diese Funktionen sind im MSC verfügbar. Weitere Informationen dazu finden Sie auf der Seite Aktivitätsanalyse und Seite Zurückfahren.
Das von 4D angelegte Journal enthält alle Operationen, die in den Daten von protokollierten Tabellen der Anwendung ausgeführt werden, die sequentiell protokolliert werden. Standardmäßig werden alle Tabellen protokolliert, d.h. in das Journal aufgenommen. Sie können einzelne Tabellen davon ausschließen, wenn Sie im Inspektorfenster die Option In Journal aufnehmen deaktivieren.
Somit löst jeder vom Benutzer ausgeführte Schritt zwei Aktionen aus: Einerseits wird die Anweisung des Benutzers in der Anwendung ausgeführt, zur selben Zeit wird die Aktion im Journal mitgeschrieben. Das Journal wird unabhängig erstellt, es beeinträchtigt und verlangsamt nicht die Arbeit des Benutzers. Eine Anwendung kann zur selben Zeit immer nur mit einem Journal arbeiten.
Das Journal registriert folgende Operationen:
- Datendatei öffnen und schließen
- Prozess (Kontexte) öffnen und schließen
- Datensätze oder BLOBs hinzufügen
- Datensätze ändern
- Datensätze löschen
- Transaktionen erstellen und schließen
Weitere Informationen dazu finden Sie auf der Seite Aktivitätsanalyse .
4D verwaltet das Journal. Es schreibt alle Operationen mit, die die Datendatei betreffen, egal welche Aktion vom Benutzer, in 4D Methoden, der SQL Engine, 4D Plug-Ins (4D Write, 4D View, etc.) oder einem Web Browser ausgeführt werden.
Nachfolgende Darstellung zeigt, wie das Journal arbeitet:
![](../../picture/1360885/pict1360885.en.png)
Das aktuelle Journal wird automatisch mit der aktuellen Datendatei gesichert. Das hat folgende Vorteile:
- Wichtig ist, dass das Volume, in welchem das Journal gespeichert wird, nicht voll wird. Ohne Backup würde das Journal mit der Zeit beträchtlich anwachsen und u.U. den gesamten Platz im Verzeichnis belegen. 4D bzw. 4D Server schließt für jeden Backup-Satz das aktuelle Journal und startet sofort eine neue leere Datei, so dass auf dem Volume genügend Platz frei bleibt. Das alte Journal wird je nach Backup-Einstellungen archiviert oder entfernt.
- Behalten Sie die Journale zu den entsprechenden Backups, damit Sie eine Datenbank später analysieren oder reparieren können. Das Journal kann nur in die Anwendung integriert werden, zu der es gehört. Sie müssen Backups und Journale zusammen archivieren, damit Sie das Journal bei Bedarf korrekt in das Backup einbinden können.
Jede mit 4D erstellte Datenbank führt ein Logbuch: Es ist Teil der automatischen Backup-Strategie. Weitere Informationen dazu finden Sie im Abschnitt Automatische Backup Strategie. Das Logbuch hat den Namen DatenDateiName.journal und wird in den Ordner mit der Strukturdatei der Datenbank gelegt.
Sie können jederzeit prüfen, ob Ihre Datenbank ein Logbuch führt. Dazu gehen Sie auf die Seite Backup/ Konfiguration der Datenbank-Eigenschaften (siehe Logbuch-Verwaltung) und prüfen, ob die Option Benutze Logbuch markiert ist. Ist diese Option inaktiv oder verwenden Sie eine Datenbank ohne Logbuch und wollen dann eine Backup-Strategie mit Logbuch einrichten, müssen Sie ein Logbuch anlegen.
Um ein Logbuch anzulegen:
- Markieren Sie auf der Seite Backup/ Konfiguration der Datenbank-Eigenschaften die Option Benutze Logbuch.
Das Programm zeigt den Standarddialog zum Sichern einer Datei oder zum Anlegen eines neuen Logbuchs. Es hat standardmäßig den Namen DatenDateiName.journal. - Behalten Sie den Standardnamen oder benennen ihn um und wählen dann den Speicherort der Datei.
Wir empfehlen, das Logbuch nicht auf dieselbe Platte wie die Datenbank zu legen. Geht diese Platte kaputt, können Sie in jedem Fall das Logbuch aufrufen. - Klicken Sie auf die Schaltfläche Speichern.
Zugriffspfad und Name des aktuellen Logbuchs erscheinen nun in den Einstellungen der Datenbank im Bereich “Benutze Logbuch”. Sie können in diesen Bereich klicken, um ein PopUp-Menü mit den Ordner auf der Festplatte anzuzeigen. - Bestätigen Sie dieses Dialogfenster.
Wichtig: Ab 4D v14 gibt es neue interne Mechanismen zum Generieren und Einsetzen eines Logbuchs (Datei .journal), das es noch wirkungsvoller macht. Zum Verwenden eines Logbuchs müssen alle protokollierten Tabellen einen Primärschlüssel haben. Ist das nicht der Fall, z.B. in einer konvertierten Datenbank, zeigt 4D eine Warnung, dass sich das Logbuch nicht aktivieren lässt, solange nicht die Primärschlüssel für alle protokollierten Tabellen korrekt gesetzt sind. Mit dem Datenbankstruktur erstellen können Sie Ihre Anwendung korrekt konfigurieren. Er prüft den Status jeder Tabelle und ermöglicht, einen Primärschlüssel zu setzen.
Damit Sie ein Logbuch direkt erstellen können, muss die Datenbank sich in einer der folgenden Situationen befinden:
- Jede protokollierte Tabelle muss einen Primärschlüssel haben (s.o.)
- Die Datendatei ist leer
- Sie haben gerade ein Backup der Datenbank ausgeführt und es hat noch keine Änderungen an den Daten gegeben
In allen anderen Fällen erscheint die Meldung, dass Sie ein Backup durchführen müssen. Klicken Sie auf die Schaltfläche OK, startet sofort das Backup, dann wird das Logbuch aktiviert. Klicken Sie auf Abbrechen, wird die Anfrage gesichert, das Logbuch wird nicht jetzt, sondern erst nach dem nächsten Backup der Datenbank erstellt.
Diese Vorsichtsmaßnahme ist notwendig, denn, damit Sie die Datenbank nach einem Zwischenfall wiederherstellen können, benötigen Sie eine Kopie der Datenbank, in die Sie die im Logbuch gespeicherten Operationen integrieren können. Ab jetzt werden alle Operationen in den Daten im Logbuch mitgeschrieben. Dieses wird in Zukunft immer zusammen mit der Datenbank verwendet
Erstellen Sie eine neue Datendatei, müssen Sie auch ein neues Logbuch anlegen. Sie müssen ein anderes Logbuch einrichten, wenn Sie eine andere Datendatei öffnen, die nicht mit einem Logbuch verknüpft ist oder wenn das Logbuch fehlt.
Wollen Sie das Mitschreiben der Operationen für das aktuelle Logbuch stoppen, gehen Sie auf die Seite Backup/ Konfiguration der Datenbank-Eigenschaften und deaktivieren die Option Benutze Logbuch.
Auf dem Bildschirm erscheint folgende Meldung:
![](../../picture/511167/pict511167.de.png)
Klicken Sie auf die Schaltfläche Stop, wird das aktuelle Logbuch sofort geschlossen, d.h. das Dialogfenster Datenbank-Eigenschaften muss danach nicht bestätigt werden.
Wollen Sie das aktuelle Logbuch schließen, weil es zu groß ist, müssen Sie von der Datendatei ein Backup ausführen, welches dann auch das Logbuch sichert.
Hinweise für 4D Server:
- Über die 4D Funktion New log file lässt sich das aktuelle Logbuch automatisch schließen und ein neues starten.
- Ist das Logbuch während einer Arbeitssitzung aus irgendwelchen Gründen nicht verfügbar, wird der Fehler 1274 generiert und 4D Server erlaubt Benutzern nicht mehr, Daten zu schreiben. Ist das Logbuch wieder verfügbar, muss ein Backup gemacht werden.