Der Arbiterserver löst Konflikte zwischen den Servern bei der Frage, welcher Server der Primärserver sein soll. Ohne einen Arbiterserver ist Server A, der nach dem Ausfall von Server B gestartet wird, nicht in der Lage zu bestimmen, ob seine Kopie der Datenbankdateien die aktuellste ist. Eine Datenbank mit nicht aktuellen Dateien zu starten, führt zum Verlust von Transaktionen, die bei der anderen Kopie der Datenbank bereits angewendet und festgeschrieben wurden. Zusätzlich wäre die andere Kopie der Datenbank für eine Spiegelung nicht geeignet, wenn die beiden betriebsbereiten Server die Kommunikation wieder aufnehmen.
Neben der Lösung von Konflikten beim Start wird der Arbiterserver benötigt, wenn die Kommunikationsverbindung zwischen den beiden Servern unterbrochen wird, aber beide Server weiterhin laufen. Ohne einen Arbiterserver würden beide Server annehmen, dass sie Eigentümer der Datenbank sind. Dies würde wieder zu verlorenen Transaktionen und inkompatiblen Datenbanken führen. Mit einem Arbiterserver kann der Primärserver feststellen, dass er weiterhin Eigentümer der Datenbank ist und Clients weiterhin zur Verfügung stehen kann. Wenn der Primärserver die Verbindung sowohl zu dem Spiegel- als auch zu dem Arbiterserver verliert, muss er herunterfahren und darauf warten, dass einer der beiden wieder verfügbar wird.
Ein Arbiterserver kann als solcher in mehr als nur einem Spiegelsystem eingesetzt werden. Er kann auch als Datenbankserver für andere Datenbanken verwendet werden.
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 |