Datenbank-Tuning und Konsistenzprüfung
Stichwörter
Tuning, Konsistenz, Systemtest, Qualitätssicherung, Performanz, Datenvolumen, OEM, TOAD, PL/SQL, TK-Prof, Clarify
Aufgabenstellung
Unsere Kunden sind Provider für Mobilfunk und betreiben Telekommunikationsnetze. Für die Störungsbehebung und die Durchführung von Wartungsarbeiten wird eine Trouble-Ticketing-Anwendung eingesetzt.
Die gesamte Programmlogik befindet sich im Clientteil der Anwendung. Sämtliche Datenprüfungen und -validierungen werden im Client und nicht in der Datenbank vorgenommen. Neue Releases der Anwendung müssen deswegen sehr sorgfältig entwickelt, geprüft und getestet werden, bevor sie freigegeben werden, um Inkonsistenzen in der Datenbank zu vermeiden. Denn Inkonsistenzen führen schnell zu Fehlverhalten und Abstürzen der Anwendung.
Die Datenbankabfragen der Anwendung werden teilweise dynamisch zur Laufzeit erzeugt. Eine schnelle Antwortzeit der Anwendung ist für die Akzeptanz sehr entscheidend. Wegen vieler gleichzeitiger Anwenderabfragen auf die Datenbank und wegen des großen Datenvolumens muss die Performanz der Datenbank durch entsprechendes Tuning gesichert werden.
Tuning und Konsistenzprüfung
Lösung
Bardenheuer hat für zahlreiche Releases der Trouble-Ticketing-Anwendung die Qualitätssicherung beim Kunden durchgeführt:
Betreuung externer Lieferanten und Support der Anwender
Es werden Fach- und Feinspezifikationen für den Lieferanten erstellt, mit denen die Anwendungen in Releases vom Lieferanten weiterentwickelt werden.
Mit einem Change-Request-/Bug-Report-Verfahren werden dem Lieferanten Änderungswünsche der Anwender und aufgetretene Fehler gemeldet. Die daraufhin gelieferten Releases/Patches (Sourcen, Dokumentation) werden reviewed und in die Testumgebung eingespielt.
Systemtest, Qualitätssicherung und Produktivsetzung
Anhand der Lieferdokumente und von Prüfskripten wird die Anwendung in der Testumgebung getestet. Die Datenbank wird im Anschluss daran auf auftretende Inkonsistenzen und Performanzengpässe hin untersucht. Nach erfolgreicher Prüfung werden die Releases/Patches in den Produktivbetrieb eingespielt.
Konsistenzprüfung und Bereinigung des Datenbestandes
Für den Produktivbetrieb werden Skripte entwickelt, mit denen Inkonsistenzen in der Datenbank entdeckt werden können. Falls Inkonsistenzen existieren, werden sie mit geeigneten Skripten behoben und die Anwendung wird entsprechend korrigiert:
- Das Verhalten der Anwendung (SQL-Abfragen auf die Datenbank) wird protokolliert
- Darauf aufbauend werden Prüfskripte entwickelt, um wichtige Beziehungen zwischen Tabellen und Tabelleninhalten zyklisch zu prüfen
- Trigger werden eingeführt, um nicht reproduzierbares Fehlverhalten der Anwendung zu analysieren
- Es werden Skripte geschrieben, um schon existierende Inkonsistenzen zu beseitigen
- Es werden Patches eingespielt, um die Programmlogik im Client zu ändern
Tuning der Datenbankanwendung
Während des Test- und Produktivbetriebs werden laufend Performanzmessungen mit dem Oracle Enterprise Manager, TOAD oder SQL-Abfrageskripten vorgenommen. Bei Performanzproblemen werden unter anderem folgende Maßnahmen durchgeführt:
- Verbesserung der SQL-Abfragen der Anwendung durch Einspielen neuer Patches
- Einführung neuer und Anpassung bestehender Indizes
- Anpassung bestehender Konfigurations- und Initialisierungsparameter der Datenbank
- Archivierung und Bereinigung veralteter Daten
- Datenbankmodell-Änderungen, um z. B. Joins über mehrere Tabellen zu vermeiden
Sie wünschen weitere Informationen oder haben Fragen zur Realisierung eines Projekts? Senden Sie uns eine E-Mail mit Ihrem Anliegen und wir werden uns umgehend mit Ihnen in Verbindung setzen. Gerne helfen wir Ihnen auch telefonisch unter der Nummer 089 547054-0 weiter.
