Warum Standardisierung zur Stabilitätsgewinnung?
"Ordnung
ist das halbe Leben." Ein total abgedroschenes Sprichwort - finde ich -
unwahr ist es deshalb aber bei Weitem nicht. Ganz im Gegenteil. Meine
Erfahrungen als Oracle-DBA haben mich immer wieder zu dem Schluss
geführt, dass viele Fehler vermeiden lassen wenn Ordnung herrscht.
Oracle
Datenbanken zu betreiben, bedeutet weit mehr als Software Installation,
Tablespaces erweitern und Backup. Datenbanken brauchen sehr viel Pflege
und Zuwendung, sie sind sehr unbeständig und können ihre Ansprüche
daher auch schnell verändern. Kümmert sich ein (DBA) nicht ständig um
das Wohlergehen der Datenbanken, so wird bald ein Durcheinander und
Wirrwarr entstehen. Dies hat zur wiederum Folge, dass die Performance
und Stabilität der Systeme untergraben werden. Es gibt viele Oracle
Datenbank Landschaften, die nach genau diesem Prinzip betrieben werden,
aber sie sind alles andere als stabil, schnell und zuverlässig.
Meiner
Meinung nach ist es also unabdingbar ein klares Konzept zu haben, ein
"Handbuch" das eine Verbindliche Vorgehensweise beschreibt, wie
Datenbanken unter welchen Umständen zu konfigurieren sind. Damit meine
ich nicht nur die Konfigurations-Parameter der Datenbank selbst, sonder
insbesondere die Infrastruktur in der diese Datenbank eingefügt ist.
Inhalt der Database Guideline
Was
sollte alles in der Database Guideline beschrieben werden? Meine
Antwort darauf lautet „ALLES – (fast) alles!“. Alles was nicht
individuell für diese eine Datenbank so eingestellt wird muss in diesem
Handbuch stehen. Für ein 1-Mann DBA-Büro mag das unsinnig erscheinen -
ist es aber nicht. Wer kennt das nicht: "Wie war das gerade nochmal?
Ach, wird schon stimmen...". Die Schwierigkeit besteht also darin,
zwischen sinniger und unsinniger Dokumentation zu bleiben. Dabei ist
aber die unsinnige Dokumentation immer noch besser als keine
Dokumentation.
Als Starthilfe will ich hier ein mögliches Inhaltsverzeichnis vorgeben:
- Host System
- Unterstützte Betriebsysteme (je weniger, desto besser)
- Benutzer und Benutzer-Gruppen
- Oracle Environment (UNIX/Linux)
- User und Group-IDs (sehr wichtig z.B. zentralen Script-Shares)
- Massenspeicher-Medien
- Datenbank Konfiguration
- Pfade für Software
- Oracle Datenbank
- ASM
- Application Server
- Pfade für Konfiguration
- Oracle HOME und BASE
- Parameter Dateien, Scripte, Kleine Helferlein
- Pfade für Daten
- Oradata
- Oraredo
- Oraarchive
- Oramirror (sofern verwendet)
- Flashrecovery Area (sofern verwendet)
- Namensauflösung
- TNSNAME / LDAP / OID
- Ein Standard, wie die Namensauflösung verteilt wird wenn TNANAMES verwendet wird
- Pfade für Software
- Datenbank Backup
- Erläuterungen zum Backup-Konzept
- Scheduler
- Protokolle, Fehlermeldungen, Fehlerbehandlung
- Überwachung
- Anbindung an Backup-System
- RMAN-Scripte und Usage
- Hochverfügbarkeit
- RAC
- […]
- DataGuard
- […]
- Grid Infrastructure
- Oracle Restart / init-Scripte
- RAC
- Antragsformulare
- Klingt bürokratisch, ist aber eine große Hilfe beim Managen von User-Anfragen
Fast
alle dieser Punkte sind ein absolutes Muss. Je nach Datenbank
Landschaft kommen noch einige Punkte hinzu, ganz besonders im
Hochverfügbarkeits-Bereich. Wenn alle diese Punkte Dokumentiert und auf
jeder Datenbank umgesetzt sind, so kann ich mit Sicherheit voraussagen,
dass eine Grund-Stabilität geschaffen ist.
An
dieser Stelle passt das folgende Beispiel aus einem Kundenprojekt: Fast
täglich hatte irgend eine Datenbank (von ca. 70-80 Datenbanken) die
unterschiedlichsten Probleme, meistens war eine Downtime nicht zu
vermeiden. Zunächst wurde das zweiköpfige Datenbank-Team neu
aufgestellt, anschließend arbeitete man an einem Konzept zur
Standardisierung der Datenbank-Landschaft. Schon während der Umsetzung
verringerten sich die Ausfälle immer mehr. Innerhalb von einem halben
Jahr wurde das DBA-Team zum Aushängeschild der IT-Abteilung was
Zuverlässigkeit der Systeme und Dokumentation anging.
That's IT :-)
Keine Kommentare:
Kommentar veröffentlichen