AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank Verbindungsabbruch - Prinzipfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank Verbindungsabbruch - Prinzipfrage

Ein Thema von haentschman · begonnen am 23. Dez 2015 · letzter Beitrag vom 24. Dez 2015
Antwort Antwort
Seite 2 von 2     12   
Dejan Vu
(Gast)

n/a Beiträge
 
#11

AW: Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 23. Dez 2015, 19:02
Falls der Event bei einem TCP-Verbindungsabbruch gefeuert wird, bringt er wirklich nichts. Das Problem ist meistens, das die Verbindung nicht abgebrochen wurde, aber trotzdem nichts durch komme. Daher heartbeat, Keep alive etc.

A sendet alle X Sekunden ein 'Hallo' and B. B antwortet sofort mit 'Huhu'.
A wartet nach dem eigenen 'Hallo' maximal X Sekunden bis zum Huhu. Kommt es nicht, wird die Verbindung geschlossen.
Wenn B nicht alle X*f (f>1, z.B. 1.2) Sekunden ein "Hallo" bekommt, wird die Verbindung geschlossen.

Der Client (einer von beiden ist ja logischerweise der Client) baut die Verbindung dann wieder auf.

B muss nur 'X' kennen, also quasi den Timeout.

Bei einer SQL-Connection nehmen wir auch ein 'SELECT 1' oder den timestamp, wie Holger erwähnt hat und kicken die Verbindung bei einem Timeout. D.h. wir haben eine ständig aktive Connection.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
970 Beiträge
 
Delphi 6 Professional
 
#12

AW: Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 23. Dez 2015, 19:46
Hmm..

Bei einigen unserer Kunden gibt es auch (jede Nacht) einen ConnectionLost...

Dies hat aber damit zu tun, das diese Kunden partu den SQL-Server in eine VM installiert haben und meinen pünktlich um 23:00 Uhr einen SnapShot von der VM ziehen zu müssen.

Dies führt beim Aushängen des SnapShots zur Sicherung zu einem kompletten NetzwerkCut, der zwischen Sekunden bis hin zu Minuten dauert.

Somit muss unserer (alte) Applikation jeden morgen neu gestartet werden, da die Connection in der Nacht gekickt wurde.

Dumm nur, das die mitunter 24h / 7 Tage die Woche arbeiten..

(Dieses Problem ist übrigens ein bei VMWare bekanntes Problem, wobei es angeblich gelöst sein soll )
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
672 Beiträge
 
FreePascal / Lazarus
 
#13

AW: Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 24. Dez 2015, 10:18
Dies hat aber damit zu tun, das diese Kunden partu den SQL-Server in eine VM installiert haben und meinen pünktlich um 23:00 Uhr einen SnapShot von der VM ziehen zu müssen.
Diese VM Fetischisten kenne ich auch. Ist immer lustig denen mal zu erklären, das deren sogenannte Sicherungsstrategie eher gefährlich ist als hilfreich. Der VM Snapshot hat eine ähnliche Funktion bei Firebird wie Forced writes zu deaktivieren. Das was gerade im Speicher ist und auf der Platte geändert wurde wird gesichert. Ob das zur careful write schreibreihenfolge von Firebird passt ist egal. Wenn nun beim Snapshot irgendwas schief läuft (und ja, auch das ist nur software, die ggf mal auf volle oder defekte Platten trifft und dann nicht weitermachen kann), ist es gar nicht mal so unwahrscheinlich, das die gesicherte VM nicht 100% sauber ist.

Wenn das die einzige Strategie ist, dann herzlichen Glückwunsch wenn es knallt. Wir bekommen ja aus verschiedenen Umgebungen Firebird Datenbanken zur Reparatur, vor kurzem war ein dabei, bei der die ersten ca 60% der Datei auch sauber gefüllt war, der Rest waren leider binäre Nullen. Leider zeigten diverse Pointer in diesen Bereich, unter anderem Teile der Transaktionsinventory Page. Nach kurzer Analyse war klar: Keine Reparatur möglich (Wenn bei einem Auto der Motor ausgebaut ist, kann die Werkstatt mit der Meldung, das Auto springt nicht an, auch nicht umgehend das Problem beheben, aber immerhin schnell ein Ergebnis melden).

Irgendwie haben die meisten Admins im Umfeld von Virtualisierung schon religiösen Charakter, wer dann Jehova sagt (oder VM sind nicht immer die optimale Lösung), wird gesteinigt. Gerade Firebird Server selbst zu sichern ist ziemlicher mumpitz, neben den Datenbanken ändert sich da hoffentlich fast nie was, wenn die dedicated sind. Warum also jeden Tag sichern? Die Datenbanken sollten eher noch öfter gesichert werden, ob stündlich durch Shadows oder in Realtime per Replikation, da steckt die Arbeit am Ende drin.

Kleiner Tip: Einfach mal in einem unscheinbaren Bereich der Datenbankdatei mit einem Hex Editor die DB bewusst beschädigen und dann abwarten, ob der Kunde mit seiner Strategie das merkt oder tagelang eine kaputte DB absichert, die unbrauchbar ist. Solche Diskussionen wecken viele Schlaumeier oder zumindest deren Vorgesetzte oft auf.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
220 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

AW: Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 24. Dez 2015, 12:03
@HolgerX
wir verwenden Shadowprotect mit VMWare und ziehen stündlich incrementelle Snapshots auch vom DB Server und haben keine Verbindungsabbrüche
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 24. Dez 2015, 12:09
@HolgerX
wir verwenden Shadowprotect mit VMWare und ziehen stündlich incrementelle Snapshots auch vom DB Server und haben keine Verbindungsabbrüche
Es kommt wohl auch darauf an, was man von VMware da einsetzt. Es gibt da durchaus mehr als nur VMware Player oder VMware Workstation und die sind nicht einfach nur teurer
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 24. Dez 2015, 12:16
Wenn aber Virtualisierung richtig eingesetzt werden soll, kommt man aus meiner Sicht nicht um bare metal Lösungen wie VMWare esx(i) o.ä. herum.
Markus Kinzler
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
970 Beiträge
 
Delphi 6 Professional
 
#17

AW: Datenbank Verbindungsabbruch - Prinzipfrage

  Alt 24. Dez 2015, 12:23
Auf die beim Kunden eingesetzte VMWare haben wir keinen Einfluss..

Sollte aber ESX sein, da es sich um eine Cluster-Farm für mehrere Standorte handelt..

Ob diese Shadowprotect einsetzen kann ich nicht sagen, nur das dies ach andere VM-Server im Haus betraf (mit anderer Software) und bereits bei VMWare eskaliert und bekannt war (~ 08/2015) und diese an der einer Lösung suchten und für 09/2015 zugesagt hatten.

Leider habe ich keine Rückmeldung seitens des Kunden bekommen.

Ich bin auch kein VM Spezialist..
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz