Letzte Woche bei Railware

6.10.2003

Komisch, komisch ....
kann es sein, das es in der letzten Zeit vermehrt Stromausfälle in Deutschland und Frankreich gibt ? Oder ist das ganze nur ein Problem der Wahrnehmung, das durch Massenmedien verursacht wird ? Oder sind gar dunkle Mächte im Spiel oder spinnerte Virenentwickler treiben ihr Unwesen oder ist es nur die morbide Technik der Energieversorger ? Zumindest was die Virenentwickler betrifft, kann man sagen, das die eher Gutes bewirkt haben und Antiviren- und Betriebssystemherstellern deren Unfähigkeit gezeigt haben: endlich mal hat Firma "Winzigweich" gemerkt, das man Service Packs mit Fehlerkorrekturen nicht vor seinen Kunden verstecken sollte, wenn sie benutzt werden sollen. Und vielleicht merken Sie auch noch, das gerade die in letzter Zeit betroffenen Privatpersonen keine Updates von über 100 Megabytes aus dem Netz ziehen können.

Doch zurück zu den Stromausfällen: da bekanntlich aus Vermutungen keine Gewissheit werden kann und sich auch durch weitere Vermutungen der Wahrheitsgehalt nicht steigern lässt, will ich hier lieber von den vermehrt aufgetretenen Schwierigkeiten und Lösungen berichten, die Kunden nach einem Stromausfall mit Railware hatten. Eines noch vorab: von Allen wurde sehr positiv vermerkt, das es nach einem Stromausfall nur wenige Minuten dauerte, um den Zugbetrieb wieder geregelt zu starten. Dies liegt daran, das der Zugbetrieb von dort gestartet werden kann, wo die Züge stehen geblieben waren - ein Riesenvorteil ...

Tatsache war aber auch, das nach einem Stromausfall gelegentlich die Datei Gleis.dat einen Defekt hatte und Informationen fehlten. Da sich darin wichtige Informationen über die Gleisbildsymbole befinden, ist ein Defekt besonders ärgerlich. 

Natürlich kann Railware nichts dafür, wenn der Strom ausfällt und ein nachfolgender Datenverlust kann auch nicht zuverlässig verhindert werden, aber schön wäre es ja doch, wenn das System auch für diesem Fall fehlertoleranter wäre. Und so machte ich mich an die Arbeit. Aber wie anfangen ? Wie ein gerade sterbendes System auf Fehler untersuchen ? Die Lösung war einfach: eine zusätzliche spezielle Interfacekarte im PC und diverse temporär im Gleisbildprogramm verankerte Ausgaben darauf sollten zeigen, an welcher Stelle das System letztendlich zusammenbrechen würde. Blieb nur noch ein Problem: sollte ich ausgerechnet meiner sorgsam gehüteten Entwicklungsmaschine eiskalt den Energiehahn zudrehen ? Letztendlich blieb nichts anderes übrig. Zur Sicherheit wurde ein Zusatzbackup auf den lokalen Streamer gezogen und die Notfalldiskette dafür geprüft. Die hab ich zwar nicht gebraucht, aber im Verlauf der Tage mussten doch mehrfach Daten vom Server zurückgespielt werden.

Das Ergebnis hat die Mühe gelohnt: der Effekt der zerstörten Gleis.dat konnte dann reproduziert werden, wenn man dem Rechner den Netzstecker zog. Beim Betätigen der Reset- Taste oder Power- Off passierte gar nichts. Die Vermutung das der Schreibcache von Windows die Ursache sein könnte wurde schnell wieder verworfen, denn während des Zugbetriebs wird Gleis.dat gar nicht benötigt und ist geschlossen - dachte ich zumindest.

Um Fehler auszuschließen minimierte ich zunächst die Arbeitsweise der Datenbank während der Start- und Beenden- Phase der Gleisbilder. Durch Optimierungen der Lese- und Schreiboperationen konnte der Start eines Gleisbildes um 5% und das Speichern beim Beenden um merkliche 70% beschleunigt werden. Der Fehler beim Stromausfall aber blieb ....

Aber dann machte es doch noch 'klick' im Kopf: aus verschiedenen Gründen werden die vielen einzelnen Tabellen einer Datenbank von einer zentralen Komponente gesteuert und verwaltet. Das ist auch bei Railware so gelöst. Und genau diese Komponente sorgte aus Geschwindigkeitsgründen dafür, das die zu den Tabellen gehörenden Dateien nicht wirklich geschlossen wurden. Wenn ich also während des Betriebs bestimmte nichtbenötigte Tabellen geschlossen hatte, hat der Datenbankmanager Windows lediglich angewiesen, seine Buffer zu leeren. Und dies ignoriert Windows aus mir unbekannten Gründen bei aktiviertem Schreibcache.

Eine Stunde Tipparbeit später werden die wichtigsten Tabellen selbst verwaltet und siehe da: es klappt.

Trotzdem kann man nicht dafür garantieren, das dies immer gut gehen wird ! Eine regelmäßige Datensicherung (auf CD, Streamer oder eine andere Festplatte) ist der sicherste Schutz vor Datenverlust.

Auch eine USV (unterbrechungsfreie Stromversorgung) ist eine wertvolle Hilfe gegen Datenverlust; aber nur wenn sie einen Netzwerk-, USB- oder seriellen Anschluss hat, mit dem der PC bei einem Stromausfall automatisch heruntergefahren wird.

Nicht zu empfehlen ist hingegen die Deaktivierung des Schreibcache in Windows, da das die Arbeitsgeschwindigkeit merklich senken wird.

Fein raus sind übrigens einige Betreiber der Commercial- Version von Railware: mit einer Option können Sie Railware komplett auf SQL umstellen. Dann befinden sich alle Daten auf einem zusätzlichen Datenbankrechner auf dem ein MS SQL Server oder auch MySQL läuft.

Das war es für diese Woche. Ich möchte noch alle Kunden darauf hinweisen, das im Kundenbereich zwischen dem 4.9. und dem 4.10. etwa 20 Hinweise zu Verbesserungen der kommenden Version 4.10 eingetragen wurden.

 

Und denken Sie daran: demnächst werden die Abende mit Ihrer Modellbahn schöner ...

 

© Copyright by Andrea Hinz. Kontakt zum Railware Team
Alle Logos, Hersteller- und Produktnamen sind Warenzeichen ihrer jeweiligen Hersteller.