Bundesamt für Sicherheit in der Informationstechnik

M 4.70 Durchführung einer Datenbanküberwachung

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator

Um die Verfügbarkeit, die Datenbankintegrität und die Vertraulichkeit der Daten gewährleisten zu können, ist eine regelmäßige und in angemessen definierten Überwachungszeiträumen durchzuführende Datenbanküberwachung erforderlich. Dabei zu beachtende Aspekte, die im folgenden kurz erläutert werden, sind unter anderen die Datenfragmentierung innerhalb der Datenbank, das aktuelle Datenvolumen und dessen Veränderung hinsichtlich der vorhandenen Ressourcen (Füllgrad) sowie die Auslastung der Datenbank.

Datenfragmentierung

Die Datenbank ist in regelmäßigen Zeitabständen hinsichtlich einer möglichen Fragmentierung zu überprüfen, um gegebenenfalls Maßnahmen, wie z. B. eine Reorganisation der Datenbank, planen und durchführen zu können.

Die Speicherplatzverwaltung in einem Datenbankmanagementsystem ( DBMS ) geschieht in der Regel in Form von Blöcken fester Größe, d. h. eine Veränderung (meist Vergrößerung) des Speicherplatzes erfolgt nur in Blöcken. Datensätze werden dabei auf eine minimale Anzahl von Blöcken verteilt abgespeichert. Prinzipiell werden Daten hinzugefügt, indem zuerst freie Blöcke belegt und wenn nötig zusätzlich neue Blöcke angelegt werden. Beim Löschen werden die zugehörigen Blöcke wieder freigegeben und stehen für neue Daten zur Verfügung.

Im Laufe der Zeit entsteht durch Datenveränderungen im Speicherbereich eine Abfolge von belegten und unbelegten Blöcken sowie eine immer größere Anzahl unvollständig belegter Blöcke. Darüberhinaus werden die Datensätze physikalisch weit über die Speichermedien verteilt. Diese Fragmentierung erhöht nicht nur den Speicherbedarf, sondern verlangsamt auch Datenbankoperationen, da Datensätze und freier Speicherplatz erst über einen größeren Speicherbereich gesucht werden müssen.

Sollte die Fragmentierung der Datenbank aufgrund der oben genannten Gründe eine festgelegte Grenze überschreiten, muss eine Reorganisation durchgeführt werden. Datenbank-Hersteller und Drittanbieter stellen zur Unterstützung dieser Aufgaben Administrations- und Hilfsprogramme zur Verfügung.

Datenvolumen und Füllgrad

Um einer zu starken bzw. zu raschen Fragmentierung vorzubeugen, erlauben einige Datenbankmanagementsysteme durch Definition bestimmter Parameter bereits beim Anlegen der Tabellen, eine bestimmte Menge zusammenhängender Blöcke zu reservieren. Damit steigt bei gleichem Datenvolumen der Füllgrad.

Die Datenbankdateien sollten regelmäßig hinsichtlich ihres Datenvolumen und Füllgrades überwacht werden. Dabei wird regelmäßig überprüft, ob sich das Datenvolumen zusammen mit dem Füllgrad im vorgegebenen Rahmen verändert. Ist das Wachstum größer als erwartet, kann es unter Umständen zu Speicherengpässen kommen. Aus den Beobachtungen sollten Maßnahmen, wie z. B. eine Erweiterung der Speicherkapazitäten, abgeleitet werden.

Beispiel:

Bei einer Oracle-Datenbank wird jeder Tabelle eine feste Anzahl von Extents (im Sprachgebrauch von Oracle: logische Größeneinheit) zugeordnet. Die Daten einer Tabelle werden in mindestens einem Extent abgelegt. Sobald die Kapazität eines Extents ausgeschöpft ist, legt das DBMS automatisch ein weiteres Extent an. Beim Erstellen einer Tabelle können dabei folgende Werte definiert werden:

  • Größe des ersten und nachfolgenden Extents in Bytes
  • Wachstum aller weiteren Extents in Prozent, wobei diese Zahl in Relation zur Größe des zweiten Extents steht
  • Maximale Anzahl an Extents, die für die Tabelle angelegt werden dürfen
  • Reservierte Blöcke für spätere Änderungen in Prozent

Wenn durch Anlage weiterer Extents der freie Speicherbereich innerhalb eines Tablespaces (siehe Beispiel in G 2.39 Mangelhafte Konzeption eines DBMS ) zu gering wird, muss ein neuer Tablespace hinzugefügt werden. Eine Verringerung der Anzahl der Tablespaces ist nur durch vollständige Reorganisation möglich.

Auslastung

Darüber hinaus ist die Auslastung der Datenbank regelmäßig zu prüfen, insbesondere im Hinblick auf die eingestellten Obergrenzen (siehe M 4.73 Festlegung von Obergrenzen für selektierbare Datensätze ).

Welche Informationen für eine konkrete Datenbanküberwachung relevant sind, hängt von deren spezieller Funktionsweise, also von der eingesetzten Datenbank-Standardsoftware ab. Dementsprechend sind auch individuelle Maßnahmen einzuleiten, die die Datenbankkonfiguration dahingehend modifizieren, dass sie den Anforderungen hinsichtlich Zugriffsgeschwindigkeiten, durchzuführender Transaktionen usw. gerecht wird.

Eine Automatisierung der Datenbanküberwachung kann in vielen Fällen mit Hilfe von Skripten durchgeführt werden. Eine Voraussetzung ist allerdings, dass die Informationen in auswertbarer Form von der eingesetzten Datenbank-Software zur Verfügung gestellt werden.

Prüffragen:

  • Wird die Datenbank regelmäßig hinsichtlich einer möglichen Datenfragmentierung überwacht und überprüft?

  • Werden die Datenbankdateien regelmäßig hinsichtlich ihres Datenvolumens und Füllgrades überwacht und überprüft?

  • Wird die Datenbank regelmäßig hinsichtlich ihrer Auslastung überwacht und überprüft?

Stand: 13. EL Stand 2013

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK