Two-Way Replikation bei einer Datei gestoppt
Moderator: Moderatoren
Two-Way Replikation bei einer Datei gestoppt
Hallo,
wir sind kurz vor der Einführung derTwo-Way Replikation bei einem Kunden, der an zwei Standorten arbeitet. Das DataDictionary, Subskription und Publikation sind an beiden Standorten gleich aufgebaut. Zur Zeit ist das ganze noch in der Testphase. Nun zu meiner Frage.
Von den ca. 100 Dateien gibt es eine die nach einer Unterbrechung aktuell nur in eine Richtung repliziert wird.
Ich habe die Publikation dieser Datei mal aus dem DD einfernt und wieder eingefügt, aber der Zustand bleibt wie er war.
Änderungen in dieser Datei am Standort A werden nicht zum Standort B übertragen, umgekehrt schon.
Es sind (bisher) keine Filter, Trigger oder ähnliches installiert.
Hat jemand einen Tipp, wo ich ermitteln kann warum die Replikation dieser Datei von A -> B unterbrochen wurde und nicht wieder startet ?
Die beiden ADS-Server kann ich erst am Wochenende neu starten. Ich fürchte danach wird die Replikation wieder insgesamt arbeiten, aber ich hätte schon gerne gewußt wie ich im laufenden Betrieb auf so eine Situation reagieren kann. Bei einem 24/6 Betrieb kann eine Woche ganz schön lang werden.
Glück Auf!
Udo Raiser
wir sind kurz vor der Einführung derTwo-Way Replikation bei einem Kunden, der an zwei Standorten arbeitet. Das DataDictionary, Subskription und Publikation sind an beiden Standorten gleich aufgebaut. Zur Zeit ist das ganze noch in der Testphase. Nun zu meiner Frage.
Von den ca. 100 Dateien gibt es eine die nach einer Unterbrechung aktuell nur in eine Richtung repliziert wird.
Ich habe die Publikation dieser Datei mal aus dem DD einfernt und wieder eingefügt, aber der Zustand bleibt wie er war.
Änderungen in dieser Datei am Standort A werden nicht zum Standort B übertragen, umgekehrt schon.
Es sind (bisher) keine Filter, Trigger oder ähnliches installiert.
Hat jemand einen Tipp, wo ich ermitteln kann warum die Replikation dieser Datei von A -> B unterbrochen wurde und nicht wieder startet ?
Die beiden ADS-Server kann ich erst am Wochenende neu starten. Ich fürchte danach wird die Replikation wieder insgesamt arbeiten, aber ich hätte schon gerne gewußt wie ich im laufenden Betrieb auf so eine Situation reagieren kann. Bei einem 24/6 Betrieb kann eine Woche ganz schön lang werden.
Glück Auf!
Udo Raiser
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Man kann ja sehen, welche Sätze zur Replikation anstehen, die Tabelle beginnen mit 2 Undersore. Ein Klick dadrauf öffnet ein Fenster, in welchem die Sätze zu Replikation angezeogt werden, und auch den, an dem es hängen blieb. Mit all den Feldern. Vieleicht hilft dir das weiter.
-Löschen der Repliaktions Queue:
-Löschen der Repliaktions Queue:
Code: Alles auswählen
execute procedure sp_DeleteReplicationEntry( Subscription, CiCharacter, 200; EntryID,INTEGER; )
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Um die Queue wieder zu füllen, hilft es manchmal, ein Feld mit sich selber upzudaten, dann wird ja ein Commit ausgelöst und die Queue initilalisiert:
Code: Alles auswählen
update <table> set <feld> = <feld>
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Re: Two-Way Replikation bei einer Datei gestoppt
Hallo Marcus,
danke für deinen Hinweis. Die Replication Queue kann ich natürlich einsehen. Es ist auch schön, dass man sie pausieren lassen kann, um sich anzusehen was so rein kommt. Mein Problem ist aber, dass die Replikation dieser einen Datei in der Richtung von A -> B nicht mehr stattfindet; es werden also keine Daten mehr zu dieser Datei in die Queue geschrieben, wenn ich Daten am Standort A modifiziere. - Sie sehen, sie sehen nichts!
Meine Frage ist, ob ich irgendwo einsehen, nachlesen, abfragen kann, warum?
Wie gesagt, ich vermute, dass nach einen Stopp des ADS Service und Neustart wieder alles gut sein wird (ich werde berichten), aber das ist während des laufenden Betriebs natürlich schlecht und zumindestens "unbefriedigend".
Glück Auf!
Udo
danke für deinen Hinweis. Die Replication Queue kann ich natürlich einsehen. Es ist auch schön, dass man sie pausieren lassen kann, um sich anzusehen was so rein kommt. Mein Problem ist aber, dass die Replikation dieser einen Datei in der Richtung von A -> B nicht mehr stattfindet; es werden also keine Daten mehr zu dieser Datei in die Queue geschrieben, wenn ich Daten am Standort A modifiziere. - Sie sehen, sie sehen nichts!
Meine Frage ist, ob ich irgendwo einsehen, nachlesen, abfragen kann, warum?
Wie gesagt, ich vermute, dass nach einen Stopp des ADS Service und Neustart wieder alles gut sein wird (ich werde berichten), aber das ist während des laufenden Betriebs natürlich schlecht und zumindestens "unbefriedigend".
Glück Auf!
Udo
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Wenn du die Repliaktion pausierst, dann bist du dir sicher, dass für diese Datei kein Satz in der Queue steht?
- Vielleicht definierst du die Repliaktion für diese Datei neu?
- Stimmt die Feldstruktur an beiden Seiten überein?
- Vielleicht definierst du die Repliaktion für diese Datei neu?
- Stimmt die Feldstruktur an beiden Seiten überein?
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
- nightcrawler
- 1000 working lines a day
- Beiträge: 655
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Hallo,
Ich teste das indem ich auf beiden Servern das DD mit arc und hierin die Tabelle öffne.
Ich ändere und refreshe ein Feld der Tabelle am Standort A - Daten bleiben am Standard B unverändert
Ich ändere und refreshe ein Feld der Tabelle am Standort B - Änderungen sind fast sofort sichtbar.
DD ist auf beiden Server gleich (erzeuge ich mit einem Tool aus meiner eigenen Strukturtabelle)
Publikation der Datei habe ich am Standort A (nachdem ich merkte das die Replikation nicht mehr läuft) einmal herausgenommen und später wieder eingefügt.
Glück Auf!
Udo
Ich teste das indem ich auf beiden Servern das DD mit arc und hierin die Tabelle öffne.
Ich ändere und refreshe ein Feld der Tabelle am Standort A - Daten bleiben am Standard B unverändert
Ich ändere und refreshe ein Feld der Tabelle am Standort B - Änderungen sind fast sofort sichtbar.
DD ist auf beiden Server gleich (erzeuge ich mit einem Tool aus meiner eigenen Strukturtabelle)
Publikation der Datei habe ich am Standort A (nachdem ich merkte das die Replikation nicht mehr läuft) einmal herausgenommen und später wieder eingefügt.
Glück Auf!
Udo
- nightcrawler
- 1000 working lines a day
- Beiträge: 655
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Hallo Udo,
das hört sich jetzt wirklich strange an. Sieht so aus, als ob der ADS nicht weiß, dass die Tabelle an der Replication beteiligt ist. Dies merkt er sich beim Öffnen der Tabelle. Bei ADT wäre ein Öffnen von außerhalb des DD nach der Einbindung nicht mehr möglich. Handelt es sich um DBF? Ist die DBF evtl schon offen, so dass der ADS über die DD-Verbindung diese nicht mehr erneut öffnet (irgendein Dienst, eine Auswertung o.ä.)?
Übrigens: in meinem Umfeld heißt es Glück ab;)
das hört sich jetzt wirklich strange an. Sieht so aus, als ob der ADS nicht weiß, dass die Tabelle an der Replication beteiligt ist. Dies merkt er sich beim Öffnen der Tabelle. Bei ADT wäre ein Öffnen von außerhalb des DD nach der Einbindung nicht mehr möglich. Handelt es sich um DBF? Ist die DBF evtl schon offen, so dass der ADS über die DD-Verbindung diese nicht mehr erneut öffnet (irgendein Dienst, eine Auswertung o.ä.)?
Übrigens: in meinem Umfeld heißt es Glück ab;)
Re: Two-Way Replikation bei einer Datei gestoppt
Hallo,
wie ich es schon "befürchtet" habe, läuft die Replikation, nachdem ich den ADS auf beiden Servern angehalten und neu gestartet habe, als wäre nichts gewesen. Gut wir sind noch im Test, aber sehr nah dran am Live Betrieb. Die Replikation ist, wenn sie läuft, ein echter Gewinn.
Was mir noch fehlt ist ein "Warnsystem" bei auftretenden Problemen. Vom ADS ist man Stabilität gewohnt; unsere System laufen weitgehend klaglos ohne weiteren Support so vor sich hin.
Bei der Two-Way Replikation stellt man sich schon die Frage, ob das so stabil läuft, dass die Daten konsistent beiben?
Glück Auf!
Udo
@Joachim, ein "Glück ab" müßtest du im Pott lange erklären....
... und dabei würden wohl mehr als nur ein paar Bier geleert werden (müssen).
wie ich es schon "befürchtet" habe, läuft die Replikation, nachdem ich den ADS auf beiden Servern angehalten und neu gestartet habe, als wäre nichts gewesen. Gut wir sind noch im Test, aber sehr nah dran am Live Betrieb. Die Replikation ist, wenn sie läuft, ein echter Gewinn.
Was mir noch fehlt ist ein "Warnsystem" bei auftretenden Problemen. Vom ADS ist man Stabilität gewohnt; unsere System laufen weitgehend klaglos ohne weiteren Support so vor sich hin.
Bei der Two-Way Replikation stellt man sich schon die Frage, ob das so stabil läuft, dass die Daten konsistent beiben?
Glück Auf!
Udo
@Joachim, ein "Glück ab" müßtest du im Pott lange erklären....
... und dabei würden wohl mehr als nur ein paar Bier geleert werden (müssen).
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Wie Joachim schon erwähnte, die Datei muss neu geöffnet werden (ähnliches Problem bei Änderung von Triggern)
Wenn die in der App immer offen bleibt, zieht eine Änderung nicht.
Ich hab es mir abgewöhnt, eine Datei global im Main für alle späteren Vewrwendungen offen zu halten.
Wenn die in der App immer offen bleibt, zieht eine Änderung nicht.
Ich hab es mir abgewöhnt, eine Datei global im Main für alle späteren Vewrwendungen offen zu halten.
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
- nightcrawler
- 1000 working lines a day
- Beiträge: 655
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Hallo,
und wieder ist die Replikation "einseitig" für bestimmte Dateien stehen geblieben!
Joachims Hinweis: Datei außerhalb des Data Dictionary im Zugriff?, hat mich noch mal grübeln lassen.
Es gibt einen Thread im Programm, bei dem eine Tabelle für die Produktionsplanung der Woche erzeugt wird.
Diese 'wöchentliche' Tabelle kann natürlich nicht im DataDictionary(DD) eingetragen sein/werden. Daher habe ich diesem Thread eine und eine 'normale' Connection (ohne DD) zum ADS geöffnet. Ich vermute das stoppt dann die Replikation; OHNE Fehlermeldung!
Ich habe das jetzt umgeschrieben, erst öffne ich die DD Tabellen, dann erzeuge ich eine neue ADS-Connection ohne DD und weise sie oAds2 zu. Damit öffne ich dann die Wochentabelle als freie Tabelle, aber über den ADS. Bis jetzt funxt das so.
Folgendes macht mich jedoch stutzig:
Beim Schließen der ADS-Connection am Ende des Threads reicht ein disconnect() um die ADS Connection zu beenden. Bedeutet das die zweite Connection oAds2 zum ADS hat die erste (mit DD) ersetzt, aber die über das DD gebundenen Tabellen bleiben weiterhin geöffnet.
Was mich zu der Frage führt:
Ich will/darf/muss DD gebundenen und ‚freie‘ Tabellen in einem Thread gleichzeitig öffnen. Wie mache ich das richtig?
Glück Auf!
Udo
und wieder ist die Replikation "einseitig" für bestimmte Dateien stehen geblieben!
Joachims Hinweis: Datei außerhalb des Data Dictionary im Zugriff?, hat mich noch mal grübeln lassen.
Es gibt einen Thread im Programm, bei dem eine Tabelle für die Produktionsplanung der Woche erzeugt wird.
Diese 'wöchentliche' Tabelle kann natürlich nicht im DataDictionary(DD) eingetragen sein/werden. Daher habe ich diesem Thread eine und eine 'normale' Connection (ohne DD) zum ADS geöffnet. Ich vermute das stoppt dann die Replikation; OHNE Fehlermeldung!
Ich habe das jetzt umgeschrieben, erst öffne ich die DD Tabellen, dann erzeuge ich eine neue ADS-Connection ohne DD und weise sie oAds2 zu. Damit öffne ich dann die Wochentabelle als freie Tabelle, aber über den ADS. Bis jetzt funxt das so.
Folgendes macht mich jedoch stutzig:
Beim Schließen der ADS-Connection am Ende des Threads reicht ein disconnect() um die ADS Connection zu beenden. Bedeutet das die zweite Connection oAds2 zum ADS hat die erste (mit DD) ersetzt, aber die über das DD gebundenen Tabellen bleiben weiterhin geöffnet.
Was mich zu der Frage führt:
Ich will/darf/muss DD gebundenen und ‚freie‘ Tabellen in einem Thread gleichzeitig öffnen. Wie mache ich das richtig?
Glück Auf!
Udo
- nightcrawler
- 1000 working lines a day
- Beiträge: 655
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Der ADS kann gesichert natürlich nur Daten replizieren, welche innerhalb des Dictionaries geändert werden. Warum kann Dein anderer Prozess das Dictionary nicht verwenden?
Re: Two-Way Replikation bei einer Datei gestoppt
Hallo Joachim,
ich hatte gehofft, das erklärt zu haben, die wöchentliche Planungstabelle bekommt immer einen neuen Dateinamen, daher kann sie nicht im DD stehen. So wie ich das schreibe fallen mit natürlich gleich Wege ein, dass zu ändern - keine Frage.
Aber ich habe es jetzt wohl verstanden.
Ich kann diverse DacSession zum ADS aufmachen;
z.B. oADS1 mit der Connection zum DD und
oAds2 zum ADS ohne Connection zum DD - für 'freie' Tabellen
und die beim Öffnen der Dateien einfach mitgeben z.B. ... VIA oAds2
Die Liste der Session bekomme ich mit DacSession():SessionList()
und wenn ich neugierig bin, kann ich mir auch die Connection genauer ansehen: DacSession():SessionList()[1]:getConnectionString()
Beim Beenden des Thread die DacSessionList() in ein Array schreiben und dann alle gefunden Session disconnecten
aeval( aDacListe, {|o| o:Disconnect()} )
Danke für die Hilfe und
Glück Auf!
Udo
ich hatte gehofft, das erklärt zu haben, die wöchentliche Planungstabelle bekommt immer einen neuen Dateinamen, daher kann sie nicht im DD stehen. So wie ich das schreibe fallen mit natürlich gleich Wege ein, dass zu ändern - keine Frage.
Aber ich habe es jetzt wohl verstanden.
Ich kann diverse DacSession zum ADS aufmachen;
z.B. oADS1 mit der Connection zum DD und
oAds2 zum ADS ohne Connection zum DD - für 'freie' Tabellen
und die beim Öffnen der Dateien einfach mitgeben z.B. ... VIA oAds2
Die Liste der Session bekomme ich mit DacSession():SessionList()
und wenn ich neugierig bin, kann ich mir auch die Connection genauer ansehen: DacSession():SessionList()[1]:getConnectionString()
Beim Beenden des Thread die DacSessionList() in ein Array schreiben und dann alle gefunden Session disconnecten
aeval( aDacListe, {|o| o:Disconnect()} )
Danke für die Hilfe und
Glück Auf!
Udo
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Two-Way Replikation bei einer Datei gestoppt
Abgesehen davon, dass es natürlich viel besser ist, nur eine Tabelle zu verwenden, könntest Du beim Erstellen der Tabelle selbige auch ins Data Dictionary aufnehmen .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück