Autor Thema: Replizierung  (Gelesen 1793 mal)

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Replizierung
« am: 24.02.10 - 14:36:39 »
Heyho,

es gibt wieder was zu Replizierungen :)

Server1/A schickt eine Datenbank an ganz viele andere Server (nur Push). Der Haken für eine konsistente ACL ist gesetzt. Server1/A hat Managerzugriff, alle anderen Server lesenden Zugriff. In der DB auf Server1/A ist als Formel für eingehende Dokumente "SELECT @False" hinterlegt. Alle Haken sind rausgenommen (Gestaltung, Agenten, ACL, ...).

Funktioniert soweit. Irgendwann, wer auch immer es war, waren in einer der Ziel DBs Dokumente doppelt. Da ich bei der Menge nicht einzeln schauen wollte welches das aktuelle aus der Replizierung ist, hab ich folgendes getan:

1. Automatische Replizierung ausgehend von Server1/A deaktiviert.
2. Replizierhistorie der DB auf dem Zielserver geleert.
3. Eintrag aus der Replizierhistorie auf Server1/A zu Zielserver entfernt.
4. Alle Dokumente in der DB auf dem Zielserver gelöscht.
5. Auf der Konsole die Push-Replizierung von Server1/A zum Zielserver gestartet. Funktioniert.
6. Automatische Replizierung ausgehend von Server1/A aktiviert.

Soweit alles wunderbar. 5 Minuten später waren aber alle Dokumente in der DB auf Server1/A weg. In den Details der DB steht, dass mein Benutzer eine Anzahl an Schreizugriffen auf die DB ausgeführt hat, die der Anzahl an Dokumenten in etwa enspricht.

Ich habe weder etwas in der Quell DB gelöscht noch eine Replizierung über meinen Client laufen lassen. Jetzt ist mir ein bißchen mulmig, da aus einem mir unbekannten Grund viele Dokumente verschwunden sind.

Edit: Eine Datensicherung hatte ich gemacht vor der Aktion, von daher ist nichts endgültig verloren =)

Danke für jeden Hinweis auf die Ursache :)

LG
« Letzte Änderung: 24.02.10 - 14:48:26 von 0xse »

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: Replizierung
« Antwort #1 am: 25.02.10 - 10:48:44 »
Hallo,


wenn ich das richtig verstehe wurde löschflags von ServerB zu ServerA übertragen obwohl ServerA nur sendet, aber keine Änderungen empfängt?

Gibt es möglicherweise ein 2. Verbindungsdokument, welches für die Db eine Pull/Push Replikation durchführt?

Ich würde die Db auf dem 2. Server neu anlegen, da bei deiner Replikation vorhandenen Dokumenten Löschflags gegenüberstehen. Ich habe diese Variante zwar selber noch nicht probiert, stehe dem aber skeptisch gegenüber.

MfG
mit besten Grüßen

Markus Petzold

Offline 0xse

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 507
  • Geschlecht: Männlich
Re: Replizierung
« Antwort #2 am: 25.02.10 - 12:22:55 »
Hi,

Gibt es möglicherweise ein 2. Verbindungsdokument, welches für die Db eine Pull/Push Replikation durchführt?

Auf dem Quellserver existieren nur Verbindungsdokumente mit Push Only für diese Datenbank. Allgemeine Verbindungsdokumente gibt es nicht. Auf den Zielservern gibt es auch keine Verbindungsdokumente mit Push zum Quellserver.

Ich würde die Db auf dem 2. Server neu anlegen, da bei deiner Replikation vorhandenen Dokumenten Löschflags gegenüberstehen. Ich habe diese Variante zwar selber noch nicht probiert, stehe dem aber skeptisch gegenüber.

Notes 8.5 Administrator Hilfe:
Wenn ein Benutzer ein Dokument auf einem Server löscht und ein anderer Benutzer dieses Dokument anschließend auf einem anderen Server zwischen zwei Replizierungssitzungen einmal aktualisiert, überschreibt die Bearbeitung die Löschung, da beide Dokumente einmal aktualisiert wurden und die Bearbeitung nach der Löschung erfolgte.

Zwischen 4 und 5 habe ich einen Punkt vergessen. Vor dem Start der Replizierung habe ich einen Design Refresh über alle Dokumente in der Replik auf dem Quellserver durchgeführt, damit diese auf jeden Fall repliziert werden. Somit sollte die Löschung durch Replizierung eigentlich nicht die Ursache sein.


Ggf. könnte auch ServerNoReplRequests=1 helfen, damit der Quellserver zumindest keine Replizieranforderungen anderer Server mit seinen Rechten ausführt. Sollte aber nichts bringen, da die Replizierungen vom Quellserver ausgehen und ein Rückweg nicht eingerichtet ist.

Forces the server to refuse all replication requests from other servers. When this feature is enabled, to replicate with this server, the requesting server must perform pull-push replication:

0 - Accepts replication requests from other servers
1 - Refuses replication requests from other servers



Ich glaube fast das ich mich am Wochenende mal aufschalte, wenn kaum Nutzer da sind, und die Repliken neu erstelle. Trotzdem bleibt die Frage im Raum, warum die Dokumente weg waren.

Schade drum... :)

LG

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz