Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Datenkonsistenz und Datenaktualität

Konsistenz der Daten in der Plattendatei beim Multi-User-Betrieb

Durch die Angabe SHARUPD=*YES bei der Funktion OPEN erreicht der Benutzer, dass mehrere Schreiber eine Datei gleichzeitig bearbeiten können.

Schreiboperationen (SAVE) verschiedener Benutzer werden nicht von DIV koordiniert, d.h. der Benutzer ist für die Synchronisierung zuständig.

Konsistenz der Daten in der Plattendatei nach einem Systemausfall

Wenn SAVE durch einen Systemausfall (oder durch einen Taskabsturz) abgebrochen wird, kann es sein, dass einige modifizierte Seiten bereits in die Datei geschrieben wurden, andere noch nicht.

Der Inhalt der Plattendatei kann also in einem solchen Fall in einem inkonsistenten Zustand sein.

Konsistenz der Daten in einem Fenster beim Multi-User-Betrieb

In einem Fenster können inkonsistente Daten durch parallele Tasks nur dann erscheinen, wenn ein paralleler Schreiber die Seiten des entsprechenden Dateibereichs verändert und eine geänderte Seite nach einem Zugriff im Fenster erscheint.

Folgende Eröffner sind von Änderungen von Fensterseiten durch einen parallelen Schreiber nicht betroffen:

  • SHARUPD=*NO-Eröffner (es kann keinen parallelen Schreiber geben),

  • SHARUPD=*WEAK-Schreiber (es kann keinen parallelen Schreiber geben),

  • SHARUPD=*WEAK-Leser, falls bei OPEN der Operand LOCVIEW=*MAP spezifiziert ist.

DIV stellt dann sicher, dass während des Einlesens der Fensterseiten zum MAP-Zeitpunkt keine Seiten von einem parallelen Schreiber in der Datei (durch SAVE) verändert werden können. Nachdem die Seiten eingelesen sind, können sie von einem parallelen Schreiber verändert werden.

Wenn ein paralleler Schreiber das logische Dateiende verändert, kann nicht davon ausgegangen werden, dass bei anderen Eröffnern die Änderung berücksichtigt wird (z.B. bei einem Fensterzugriff oder bei SAVE).

Konsistenz der Daten in einem Fenster nach einem Systemausfall

Modifizierte Daten, die nur im Fenster modifiziert und noch nicht in die Plattendatei zurückgeschrieben wurden, sind verloren.

Aktualität der Daten in einem Fenster

In einem Fenster können Daten nur dann an Aktualität verlieren, wenn ein paralleler Schreiber die Seiten des entsprechenden Dateibereichs verändert und eine geänderte Seite nach einem Zugriff im Fenster erscheint.

In diesem Zusammenhang ist die Beachtung folgender Eigenschaften von DIV wichtig:

  • Eine Fensterseite wird beim ersten Zugriff aus der Datei eingelesen und ist im weiteren Ablauf nur evtl. Änderungen durch CPU-Befehle unterworfen.
    Erst nach einem RESET wird sie bei einem erneuten Zugriff aus der Datei eingelesen.

  • Ob eine Seite bei einem Zugriff einzulesen ist, hängt auch davon ab, ob es überhaupt eine entsprechende Dateiseite gibt, d.h. ob die Seite vor oder nach dem logischen Dateiende liegt.

    Wann die Veränderung des logischen Dateiendes durch einen parallelen Schreiber für einen anderen Eröffner wirksam wird, ist implementierungsabhängig. Der Benutzer darf sich nicht darauf verlassen, dass Änderungen des logischen Dateiendes durch einen parallelen Schreiber auch in seinen Fenstern sichtbar werden.