Eine Epochennummer bezeichnet die Gesamtzahl der Operationen, die auf einem
bestimmten Replikat stattgefunden haben.
In Abbildung 2 unter
Operationen für einzelne Replikate verfolgen hat boston_hub die Epochennummer
950.
Das Synchronisationsschema von
MultiSite ist so ausgelegt,
dass das zwischen Replikaten zu übertragende Datenvolumen möglichst gering
gehalten wird.
Ein Replikat protokolliert folgende Epochennummern:
- Änderungen auf dem aktuellen Replikat. Die Anzahl der
Operationen, die auf dem aktuellen Replikat stattgefunden haben.
- Änderungen auf gleichgeordneten Replikaten, die in das
aktuelle Replikat importiert wurden. Wenn syncreplica
eine Operation aus einem Aktualisierungspaket in das aktuelle Replikat schreibt, wird die
Epochennummer so erhöht, dass sie der Anzahl von Operationen entspricht, die dem
gleichgeordneten Replikat entstammen und in das aktuelle Replikat importiert
wurden.
- Geschätzter Status der anderen Replikate. Für jedes
andere Replikat wird die Anzahl der Änderungen geschätzt, die sich aus den
Änderungen des aktuellen Replikats und den Änderungen anderer Replikate
ergibt. Das aktuelle Replikat protokolliert die Operationen, die es an andere Replikate
gesendet hat. Dabei wird vorausgesetzt, dass diese Operationen erfolgreich importiert
werden konnten.
In
Tabelle 1 wird gezeigt, wie sich
diese Epochennummern in einer Epochennummernmatrix darstellen lassen. Jedes Replikat verwaltet eine derartige Matrix. Sie wird aktualisiert, wenn
sich lokale Änderungen ergeben oder Aktualisierungspakete mit anderen Replikaten
ausgetauscht werden:
- Ergeben sich Änderungen auf dem Replikat boston_hub,
wird seine Epochennummer erhöht.
- Erhält das Replikat boston_hub eine Aktualisierung von
sanfran_hub, überarbeitet es seine eigene Zeile (boston_hub) und die Zeile für sanfran_hub in seiner
Epochennummernmatrix.
- Wenn das Replikat boston_hub ein Aktualisierungspaket
für sanfran_hub generiert, überarbeitet es die Zeile für sanfran_hub in seiner Epochennummernmatrix.
Der Befehl
syncreplica –export verursacht
eine sofortige Aktualisierung der Epochennummern. Dabei wird nicht darauf gewartet, dass das
importierende Replikat den Empfang und die erfolgreiche Anwendung des Pakets bestätigt. Bei der normalen MultiSite-Verarbeitung ist
kein manueller Eingriff erforderlich, um die Richtigkeit der Epochennummernmatrizen für
die einzelnen Replikate zu gewährleisten. Tritt bei Anwendung eines Pakets
jedoch ein Fehler auf, kann ein manueller Eingriff erforderlich sein. .
Tabelle 1. Zweizeilige Epochennummernmatrix auf Replikat "boston_hub" |
Operationen mit Ursprung auf "boston_hub" |
Operationen mit Ursprung auf "sanfran_hub" |
Protokoll des eigenen Status auf boston_hub |
950 |
504 |
Geschätzter Status von sanfran_hub auf boston_hub |
912 |
504 |
Der Inhalt dieser Matrix
kann mit dem Befehl
lsepoch auf dem Replikat
boston_hub ausgegeben werden:
multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user bostonadmin -password secret
Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
boston_hub: 950
sanfran_hub: 504
Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
boston_hub: 912
sanfran_hub: 504
Ein Befehl des Typs
syncreplica –export, der auf
boston_hub eingegeben wird, verwendet diese
Matrix wie folgt, um eine Aktualisierung für
sanfran_hub zu generieren:
- Auf dem Replikat boston_hub beträgt die Anzahl lokaler
Operationen 950, und es wird angenommen, dass das Replikat
sanfran_hub alle Operationen bis oplog-ID 912 importiert hat.
- Das Aktualisierungspaket, das boston_hub an das Replikat
sanfran_hub sendet, enthält die oplog-Einträge 913 bis 950 des
Replikats boston_hub. Wenn der Administrator in Boston den Befehl
syncreplica –export aufruft, wird
die Zeile sanfran_hub aktualisiert:
multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user lexadmin -password secret
Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
boston_hub: 950
sanfran_hub: 504
Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
boston_hub: 950
sanfran_hub: 504