Vor der Übernahme einer Download-Datei führt dbmlsync spezielle Prüfungen des letzten und des vorletzten Download-Zeitstempels, des Erstellungszeitpunkts der Download-Datei und des Transaktionslogs durch.
Jede Download-Datei enthält alle einzulesenden Änderungen, die in der konsolidierten Datenbank zwischen dem letzten und vorletzten Download-Zeitstempel der Datei durchgeführt wurden. Beide Zeitangaben werden anhand der Zeit auf der konsolidierten Datenbank angegeben. Standardmäßig ist der letzte Download-Zeitpunkt der Datei der 1. Januar 1900 um 12:00 Uhr und der vorletzte Download-Zeitstempel ist die Uhrzeit, zu der die Download-Datei erstellt wurde. Diese Standardwerte können durch die Implementierung der Skripten modify_last_download_timestamp und modify_next_last_download_timestamp auf der konsolidierten Datenbank aufgehoben werden.
Ein entfernter Standort kann eine Download-Datei nur dann übernehmen, wenn der letzte Download-Zeitstempel der Datei kleiner oder gleich dem letzten Download-Zeitstempel der entfernten Datenbank ist. Damit wird sichergestellt, dass eine entfernte Datenbank alle Vorgänge aus der konsolidierten Datenbank verfolgt. Wenn ein dateibasierter Download aufgrund dieser Prüfung fehlschlägt, hat die entfernte Datenbank gewöhnlich eine oder mehrere Download-Dateien nicht übernommen. Diese Situation kann behoben werden, indem die fehlenden Download-Dateien übernommen werden oder eine vollständige Synchronisation bzw. eine Synchronisation durch reinen Download ausgeführt wird.
Außerdem kann ein entfernter Standort eine Download-Datei nur dann übernehmen, wenn der vorletzte Download-Zeitstempel der Datei größer oder gleich dem letzten Download-Zeitstempel der entfernten Datenbank ist. Der letzte Download-Zeitstempel der entfernten Datenbank ist die Uhrzeit (auf der konsolidierten Datenbank), bis zu der die Datenbank alle einzulesenden Änderungen empfangen hat. Die letzte Downloadzeit der entfernten Datenbank wird jeweils aktualisiert, wenn die Datenbank einen Download erfolgreich übernimmt (normal oder dateibasiert). Diese Prüfung stellt sicher, dass eine Download-Datei nicht übernommen wird, wenn bereits neuere Daten eingelesen wurden. Dies geschieht häufig, wenn Download-Dateien in einer falschen Reihenfolge übernommen werden. Beispiel: Die Download-Datei F1.df wird erstellt und später wird eine weitere Datei mit dem Namen F2.df erstellt. Diese Prüfung stellt sicher, dass F1.df nicht nach F2.df übernommen werden kann, da dadurch neuere Daten aus F2.df mit älteren Daten aus F1.df überschrieben werden können.
Wenn ein dateibasierter Download aufgrund des vorletzten Download-Zeitstempels fehlschlägt, genügt es, die Datei zu löschen. Die Synchronisation ist erfolgreich, sobald eine neue Datei empfangen wird.
Die Erstellungszeit der Download-Datei gibt den Zeitpunkt an, zu dem in der konsolidierten Datenbank die Erstellung der Datei begonnen hat. Eine Download-Datei kann nur übernommen werden, wenn die Erstellungszeit größer als die letzte Uploadzeit der entfernten Datenbank ist. Die letzte Uploadzeit der entfernten Datenbank ist der Zeitpunkt in der konsolidierten Datenbank, zu dem der letzte erfolgreiche Upload in der entfernten Datenbank festgeschrieben wurde. Diese Prüfung stellt sicher, dass Daten, die nach der Erstellung des Downloads ausgelesen wurden (und neuer sind als der Download), nicht von älteren Daten in der Download-Datei überschrieben werden.
Wenn eine Download-Datei aufgrund dieser Prüfung abgelehnt wird, ist keine Aktion erforderlich. Der entfernte Standort sollte in der Lage sein, die nächste Download-Datei zu übernehmen.
Wenn ein Upload fehlschlägt, weil dbmlsync nach dem Senden eines Uploads an den MobiLink-Server keine Quittierung erhalten hat, ist vielleicht die Zeit des letzten Uploads in der entfernten Datenbank falsch. In diesem Fall kann die Erstellungszeit nicht geprüft werden und die entfernte Datenbank ist nicht in der Lage, Download-Dateien zu übernehmen, bis eine normale Synchronisation ausgeführt wurde.
Vor der Übernahme einer Download-Datei überprüft dbmlsync das Transaktionslog der entfernten Datenbank und erstellt eine Liste aller Änderungen, die heraufgeladen werden müssen. Dbmlsync übernimmt eine Download-Datei nur, wenn sie keine Vorgänge enthält, die Zeilen mit Änderungen betreffen, die heraufgeladen werden müssen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |