Datenbankadministration - Versuch einer

Werbung
Datenbankadministration - Versuch einer Begriffsklärung
Harald Schöning
Software AG
Uhlandstr. 12
D-64297 Darmstadt
Einleitung
Wohl für jede Datenbank, die sich im praktischen Einsatz befindet, gibt es einen Datenbankadministrator (DBA). Die Aufgabe eines DBA ist Datenbankadministration (und alle Datenbankverwaltungssysteme (DBVS) bieten eine ausgedehnte Palette von Werkzeugen dafür) was genau ist aber ist Datenbankadministration? Zu den Aufgaben eines DBA gehören auch
Tätigkeiten wie z.B. das Training von Anwendern [SAG95], die man i.a. nicht als Datenbankadministration bezeichnen würde. Andererseits gibt es auch Tätigkeiten, die man sehr wohl
als Datenbankadministration bezeichnen sollte, die aber nicht von einem DBA, sondern von
Operateuren o.ä. ausgeführt werden [KP96]. Der vorliegende Beitrag hat das Ziel, das Thema
Datenbankadministration zu untergliedern, dadurch genauer zu fassen und einen Rahmen für
die Einordnung der Beiträge zum Frühjahrstreffen der GI-Fachgruppe Datenbanken zu bieten.
Auf diese Beiträge wird auch jeweils bei den einzelnen Unterpunkten verwiesen.
Zunächst wird Datenbankadministration in drei Gebiete aufgeteilt: die Datenadministration,
die Benutzeradministration und die Systemadministration, die man vielleicht auch als Datenbankadministration im engeren Sinne bezeichnen könnte. Deshalb wird letztere dann nochmals untergliedert.
Datenadministration
Datenadministration umfaßt den logischen und physischen Datenbank-(Schema-)entwurf und
die Datenpflege. Aus dem logischen Datenbankentwurf ergeben sich für den Datenbankadministrator die Tätigkeiten der Schemadefinition (Definition von Tabellen, Domains, Constraints, etc.). In SQL gibt es hierfür die DDL-Anweisungen.
Tätigkeiten wie das Einrichten und Löschen von Zugriffspfaden, das Partitionieren und Replizieren von Daten, etc. ergeben sich aus dem physischen Datenbankentwurf. Die Planung von
Replikation ist dabei ein relativ neuer Aspekt, der jedoch sehr komplex ist, da neben der Entscheidung, welche Daten wo repliziert werden, auch entschieden werden muß, ob die Änderungsstände der Replikate immer gleich sein müssen (synchrone Replikation) oder in welchem Maße sie voneinander abweichen dürfen. Zum physischen Datenbankentwurf gehören
auch die Kapazitäts- und Leistungsplanung. Es handelt sich bei all diesen Tätigkeiten um die
deskriptive Definition eines Datenbankzielzustandes.
Das Wiederherstellen dieser definierten Eigenschaften, die ggf. durch den Datenbankbetrieb
bedingt nicht mehr vollständig erfüllt sind, ordne ich als Datenreorganisation der Datenbankadministration zu. Je nach DBVS ist solche eine Datenreorganisation nicht erforderlich oder
wird durch das DBVS selbst vorgenommen.
Benutzer- und Sicherheitsadministration
Manche Daten müssen besonders gegen unbefugten Zugriff oder unerlaubte Veränderung geschützt werden. Der DBA muß für diese Daten einen Zugriffsschutz einrichten. Dieser kann
auf Tabellen- oder Feldebene definiert werden oder auch wertabhängig für bestimmte Datensätze eingerichtet werden.
Manche Datenbanksysteme erlauben auch die Definition weiterer Sicherheitsmaßnahmen gegen unbefugten Zugriff auf die physischen Speichermedien. Mögliche Optionen sind hier beispielsweise die Erzwingung physischen Löschens bei logischem Löschen oder das Verschlüsseln der abgespeicherten Daten auf dem Speichermedium.
Das Einrichten und Löschen von Benutzerkennungen (im Datenbanksystem) und die Vergabe
von Zugriffsrechten für diese Benutzerkennungen gehören ebenfalls zu diesem Thema. Dem
entsprechen die GRANT-/REVOKE-Anweisungen in SQL.
An Benutzerkennungen können auch weitere Privilegien geknüpft sein,z.B. die Befugnis, eine
bestimmte Menge von Systemresourcen verbrauchen zu dürfen (Bswp. maximale Zeit pro
Transaktion).
Zur Laufzeit kann der DBA die Transaktionen von Benutzern anhalten oder abbrechen, oder
die benutzerspezifischen Parameter für eine Transaktion des Benutzers ändern (Priorität z.B.).
Systemadministration ( Datenbankadministration im engeren Sinne)
Folgende Abschnitte konkretisieren den Begriff Systemadministration. Allen Aspekten gemeinsam ist zum einen die Tatsache, daß die Mitwirkung des DBA gefordert ist, zum anderen, daß es keine SQL-Konstrukte für diese Aktionen gibt.
Installation
Hierzu gehört nicht nur das Einspielen des Codes des DBVS oder der Upgrade auf eine neue
Version, sondern auch die Definition der zu verwendenden Speichermedien, die Aufteilung
der Daten auf diese und ggf. deren Formatierung.
Datensicherung und -wiederherstellung
Datensicherung in diesem Sinne dient der Sicherung der Daten vor Zerstörung (durch Datenträgerausfall, Fehler in Hard- oder Software oder Benutzerfehler). Die Daten werden - gesteuert durch den DBA - in normalerweise regelmäßigen Abständen gesichert (auf Bänder oder
ähnliche Speichermedien) und an einem sicheren Ort gelagert (im Tresor, oft an einem geographisch verschiedenen Ort). Tritt ein Datenverlust auf, dann wird eine dieser Sicherungskopien eingespielt. Anschließend werden die Änderungen, die seitdem im Datenbanksystem durchgeführt wurden, anhand eines System-Logs nachgespielt. Das bedeutet, daß auch
diese System-Logs an einem sicheren Ort (und auf einem getrennten Medium) verwahrt werden sollten.
Es handelt sich hier nicht um das Gebiet der Crash-Recovery (Wiederanlauf), d.h. um den
Datenbankstart nach einem Systemfehler. Dieser sollte im Normalfall ohne Mitwirkung des
DBA erfolgen und muß von diesem auch nicht besonders vorbereitet werden.
Während die Datensicherung eine Routineaufgabe sein muß, falls sie erfolgreich sein soll, ist
die Datenwiederherstellung eine zeitkritische Ausnahmetätigkeit. An die Datensicherung
kann es verschiedene Anforderungen bezüglich ihres Verhaltens geben, wie z.B. minimale
Dauer (z.B., wenn sie off-line geschieht) oder möglichst geringe Belastung des Datenbanksystems im on-line-Fall oder ggf. damit zusammenhängend eine möglichst geringe Datenmenge: inkrementelle Sicherung (nur die seit der letzten Sicherung geänderten Daten) oder
partielle Sicherung (nur Teile der Datenbank, z.B. einzelne Tabellen). Die Wahl des Sicherungsverfahrens kann die Dauer der Datenwiederherstellung beeinflussen.
Datenarchivierung
Datensicherung dient lediglich dazu, den aktuellen Datenbestand der Datenbank vor dem Verlust zu bewahren. Das zeigt sich u.a. daran, daß die Datensicherung nicht nach logischen, sondern eher nach organisatorischen Kriterien erfolgt, z.B. in regelmäßigen Abständen oder
wenn die Datenbank ohnehin off-line ist, und daß nach Erzeugung einer Datensicherung ältere Sicherungen gelöscht werden.
Im Gegensatz hierzu soll Datenarchivierung den Datenbestand zu einer bestimmten Zeit festhalten, beispielsweise zu Revisionszwecken oder aus rechtlichen Gründen. Schneller Zugriff
auf die Archivdaten ist u.U. nicht erforderlich (es kann Tertiärspeicher eingesetzt werden).
Nach heutigem Stand der Technik sind Archivsicherungen nicht ohne weiteres mit den normalen Mitteln des Datenbankverwaltungssystems zugreifbar. Normalerweise muß die gesamte Datenbank (mit den Beschreibungsdaten) gesichert werden, so daß große Datenmenge anfallen können. Die verwendeten Sicherungsmedien müssen besonders alterungsbeständig sein.
Gegebenenfalls müssen auch die Programme zum Datenzugriff mit archiviert werden.
Datenreorganisation
Datenadministration umfaßt wie oben dargelegt die Definition logischer oder physischer Datenbankstruktur (Tabellendefinition, Zugriffspfad- und Clusterdefinition). Nicht alle Datenbankverwaltungssysteme können garantieren, daß diese Eigenschaften im Laufe dieses Betriebs erhalten bleiben. Vordefinierte Bereiche können überlaufen, Clustereigenschaften
verlorengehen, usw. Der DBA muß dann reorganisierend eingreifen, z.B. durch Umladen einer Tabelle oder ähnliche, hochgradig vom jeweiligen Datenbankverwaltungssystem abhängige Maßnahmen.
Datenverifikation
Die strukturelle Konsistenz der Datenbank wird normalerweise natürlich vom Datenbanksystem garantiert. Jedoch ist es in den meisten DBVS möglich, daß in bestimmten Fehlerfällen
(auch bei Fehlern in der DBVS-Software oder der verwendeten Hardware) Inkonsistenzen in
der Datenbank entstehen. Dem DBA stehen Verifikations- und Analysewerkzeuge zu Verfügung. Je nach Art und Schwere einer Inkonsistenz muß der DBA mit speziellen Werkzeugen
des DBVS oder durch Datenwiederherstellung (s.o.) den Fehler beheben.
Laufzeitkontrolle
Datenbanksysteme müssen gestartet werden (in den on-line-Zustand überführt werden), ggf.
kontrolliert beendet werden und zur Laufzeit überwacht werden (Monitoring). Fehlersituationen wie z.B. Überläufe müssen frühzeitig erkannt oder wenn möglich sogar vermieden werden. Da ein DBA heute oft mehrere Datenbanksysteme betreut, ist eine Unterstützung durch
entsprechende Werkzeuge erforderlich, die Laufzeitparameter der einzelnen Datenbanksysteme beobachten und auswerten, um die Entstehung kritischer Situationen rechtzeitig
prognostizieren zu können.
Performance-Analyse und Tuning
Der DBA ist verantwortlich für ein zufriedenstellendes Antwortzeitverhalten und einen ausreichenden Durchsatz des Datenbanksystems. Um beides zu erreichen, muß er mit den Mitteln
des DBVS ein Tuning vornehmen. Das kann durch Änderung der Datenverteilung auf die
Speichermedien geschehen oder durch Änderung von Laufzeitparametern wie Puffergrößen
u.ä.
Voraussetzung für solchen Maßnahmen ist, daß der DBA Engpäße und Überlastungen im Datenbanksystem erkennen kann. Auch die Identifikation von Zugriffsmustern und -häufigkeiten
müssen dem DBA möglich sein. Entsprechende Werkzeuge stellt das DBVS zur Verfügung.
Natürlich kann auch eine Änderung des physischen Datenbankentwurfs (s. Datenadministration) Ergebnis einer solchen Engpaßanalyse sein.
Auditing
In bestimmten Anwendungsszenarien ist es wichtig nachvollziehen zu können, wer eine bestimmte Änderung durchgeführt hat oder welche Änderungen ein bestimmter Benutzer verursacht hat. Dazu stehen dem DBA Auditing-Werkzeuge zur Verfügung.
Massendatentransfer
Nicht alle Änderungen einer Datenbank geschehen auf dem regulären Weg, d.h. durch Anwendungen, die die Datenmanipulationssprache (bspw. SQL) verwenden. In manchen Situationen müssen Massendaten geladen werden. Diese können z.B. aus dateibasierten Anwendungen oder aus anderen Datenbanksystemen stammen und somit ganz verschiedene Formate
haben. Das DBVS bietet auch für diese Aufgabe Werkzeuge an.
Zusammenfassung
Der vorliegende Beitrag untergliedert das Thema Datenbankadministration und ermöglicht so
eine Einordnung verschiedener Datenbankadministrations-Werkzeuge und -Ansätze.
Datenbankadministration besteht aus drei großen Aufgabengebieten: der Datenadministration,
der Benutzer- und Sicherheitsadministration und der Systemadministration. Datenadministration (logische Aspekte) und Benutzeradministration sind in SQL standardisiert, während die
restlichen Gebiete durch SQL nicht abgedeckt sind.
Systemadministration wurde im vorliegenden Beitrag weiter detailliert. Sie umfaßt so unterschiedliche Teilaufgaben wie Installation, Datensicherung und -wiederherstellung, Archivierung, Datenreorganisation, Laufzeitkontrolle, Tuning, Auditing und Massendatentransfer.
Wachsende Datenbankgröße, Heterogenität von Hard- und Software in heutigen Systemen
und Verteilung komplizieren fraglos die Datenbankadministration, sind jedoch zu der vorgestellten Gliederung orthogonal. Nimmt man noch die ständig wachsenden Verantwortungsbereiche der DBA hinzu, ist der Bedarf an unterstützenden Werkzeugen zur Durchführung der
Datenbankadministration offensichtlich.
Die Schnittstellen für die Aufgaben der Systemadministration sind von DBVS zu DBVS extrem verschieden - ein DBVS-übergreifendes Systemadministrationswerkzeug ist daher gerade in Umgebungen, in denen mehrere verschiedenen DBVS zu administrieren sind (oder gar
bei föderierten Datenbanksystemen), äußerst wünschenswert.
Für Administrationswerkzeuge sind allerdings noch weitere Anforderungen relevant, die zu
den vorgestellten Aspekten von Datenbankadministration orthogonal sind. So sind z.B. die
Administration einer verteilten Umgebung von einer einzelnen Stelle aus (remote administration, single point of control) wichtig.
Auf diese Aspekte von Werkzeugen gehen einige der Beiträge des Workshops ein []
Referenzen
[AKK96] A. Eickler, A. Kemper, D. Kossmann: Namensservices in verteilten Objektbanken
[BCG96] W. Benn, Y. Chen, I. Gringer: FSM: A Federated System Manager, Frühjahrstreffen der GI Fachgruppe “Datenbanken”, Darmstadt, März 1996.
[Ca96]
R. Caspary: Datenbankadministration eines SAP R/3 Systems, Frühjahrstreffen
der GI Fachgruppe “Datenbanken”, Darmstadt, März 1996.
[Di96]
S. Dirks: Umfassende Datenbankverwaltung mit DataHub für UNIX Operating
Systems, Frühjahrstreffen der GI Fachgruppe “Datenbanken”, Darmstadt, März
1996.
[Ge96]
M. Gertz, G. Koschorreck, U. Lipeck, M. Bethke, R. Grützner, A. Schlüter: ODDIS
- Ein Informationssystem für das Oracle Data Dictionary, Frühjahrstreffen der GI
Fachgruppe “Datenbanken”, Darmstadt, März 1996.
[HK96]
D. Hildebrand, H. Kinzinger: Unternehmensweites Anwendungs-Management am
Beispiel von ADABAS C, Frühjahrstreffen der GI Fachgruppe “Datenbanken”,
Darmstadt, März 1996.
[KP96]
H. Kinzinger, J. Pill: Graphische Administration von Datenbanksystemen in einem
Client/Server-Umfeld, Frühjahrstreffen der GI Fachgruppe “Datenbanken”,
Darmstadt, März 1996.
[KS96]
K. Küspert, R. Schaarschmidt: Datenbankintegriertes Archivieren: Anforderungen,
Funktionalität, ausgewählte Aspekte und Realisierungsmöglichkeiten, Frühjahrstreffen der GI Fachgruppe “Datenbanken”, Darmstadt, März 1996.
[Ra96]
E. Rahm: Automatisches, zielorientiertes Performance-Tuning von Transaktionssystemen, Frühjahrstreffen der GI Fachgruppe “Datenbanken”, Darmstadt, März
1996.
[Rö96]
W. Röder: Datenbankbasiertes Archivieren, Frühjahrstreffen der GI Fachgruppe
“Datenbanken”, Darmstadt, März 1996.
[SAG95] Software AG: ADABAS C V2.2: DBA Reference Manual, 1995.
[Scha96] G. Schaefer: DUO - ein Tool für Datenbankadministration und Systementwicklung, Frühjahrstreffen der GI Fachgruppe “Datenbanken”, Darmstadt, März
1996.
[St96]
U. Störl: Klassifikation und Bewertung von Backup- und Recovery-Strategien in
Datenbanksystemen, Frühjahrstreffen der GI Fachgruppe “Datenbanken”, Darmstadt, März 1996.
Herunterladen