Zum Hauptinhalt springen

Datenbankwartung

Ab Version 22.2.61 verfügbar.

Der Knopf Datenbank Wartung ist bei der Datenstruktur/Datenbank Verbindungsansicht zu finden.

Mit dieser können Sie Ihre Datenbank prüfen und Fehler beseitigen.

Zum Ausführen markieren Sie die jeweiligen Prüfungen und drücken Sie "PRÜFEN".

Um Fehler vom Programm reparieren zu lassen drücken Sie "PRÜFEN UND REPARIEREN".

Ab Version 23.1.156 stehen ihnen statt den Knöpfen drei Modi zur Verfügung:

  • Prüfen:
    Prüft aber Repariert nichts

  • Prüfen und Reparieren:
    Versucht Probleme zu reparieren, enfernt aber defekte Eintrage nicht.

  • Prüfen, Reparieren oder Entfernen
    Versucht Probleme zu reparieren, wenn nicht repariert werden kann werden defekte Einträge entfernt. (Im Falle von Geometrie Fehlern wird die Geometrie auf NULL gesetzt)

Warnung

Beachten Sie das das Programm mit "Check and Fix" defekte Eintrage automatisch entfernt. D.h. defekte Eintrage gehen ggf verloren!! Sie sollten also immer zuerst "Check" ausführen und dann bei Einträgen die nicht entfernt werden sollen, diese zuerst manuell reparieren.

Button "LOG DATEI"

Mit diesem Button können die Ergebnisse der Prüfungen in eine Datei zur weiteren Begutachtung und Bearbeitung abgespeichert werden.

Prüfe ob ungültige Datenbank Objekte vorhanden sind

Prüft ob Trigger, Views, Packages, Procedures und Funktionen defekt sind. Wenn "Check and Fix" ausgeführt wird dann wird versucht die defekten Objekte durch kompilieren zu reparieren.

Info

Diese Prüfung ist nur bei Oracle Datenbanken aktiviert und verfügbar.

Prüfe System Tabllen

Ist nur bei MapEdit Datenstrukturen verfügbar.

Prüft ob jede Tabelle einem legalen Topic zugeordnet ist.

Prüft ob die Felder TABLE_NAME,PARENT_TABLE_NAME, MODEL_TABLE_NAME
in der System Tabelle ME_TABLE, korrekte Tabellenamen beinhalten. D.h. ob die dort eingetragenen Namen vorhandene Tabellen sind.

Prüft ob alle als Domain Tabellen gekennzeichneten Tabellen ein Feld ID haben. (Feld IS_DOMAIN=TRUE in ME_TABLE)

Prüft ob in der Relationen Tabelle ME_RELATION korrekte Tabellen und Spaltennamen stehen. Wenn "PRÜFEN UND REPARIEREN" ausgeführt wird dann werden Relationen mit nicht vorhandenen Tabellen / Spaltennamen entfernt.

Prüft ob die in ME_VIEW Registrieren Views auch als wirkliche Views vorhanden sind. Ist ein View nicht vorhanden, dann wird beim Reparieren versucht den View mittels der in ME_VIEW gespeicherten View Definition anzulegen. Wenn dies fehlschlägt, wird der Eintrag aus ME_VIEW entfernt.

Des weiteren wird geprüft ob die Einträge ATTRIBUTE_TABLE_NAME und GEOMETRY_TABLE_NAME in der Tabelle ME_VIEW gültige Tabellennamen enthalten.

Prüft Relationen

Prüft anhand der Relationen ob die Daten in den Tabellen sinnvolle Relationen haben und meldet fehlerhafte Relationsdaten.

Zum Beispiel eine Tabelle STADT hat ein Feld FID_LAND. Dieses Feld hat eine Relation zur Tabelle LAND und Spalte FID.

In der Tabelle LAND gibt es Datensätze mit der FID 17,18 und 19.

In der Tabelle Stadt steht nun in FID_LAND der Wert 13. Da es in der Tabelle LAND keine FID mit dem Wert 13 gibt wird ein Fehler gemeldet.

Diese Prüfung hat keine Reparatur Funktion.

Prüft Label Definitionen

Prüft ob die in der Label Definition angegebene Tabelle vorhanden ist und ob der angegebene SQL funktioniert.

Wenn "PRÜFEN UND REPARIEREN" ausgeführt wird dann werden defekte Label Definition entfernt.

Info

Ist nur bei MapEdit Datenstrukturen verfügbar.

Prüfe FID Sequence

Prüft und repariert die Funktion die FID Sequenz. D.h. sie sorgt dafür das die Sequenznummer (ME_NEXT_FID) mit der tatsächlichen Höchsten FID übereinstimmt.

Info

Ist nur bei MapEdit Datenstrukturen verfügbar.

Suche doppelte FIDs (..)

Diese Funktion prüft ob FIDs doppelt vorhanden sind. D.h. ob in zwei oder mehr Tabellen die gleiche FID verwendet wird. Dies sollte nicht vorkommen da sonst die FID nicht eindeutig ist und es ggf bei verweisen zwischen Featuren wo nur die FID angegeben wird falsche Daten angezeigt werden.

Info

Ist nur bei MapEdit Datenstrukturen verfügbar. Dieser check hat keine Fix Funktion.

Achtung: Im Topobase Datenmodel wird eine Datenbankweite Eindeutigkeit der FID durch die Tabelle TB_UFID erzwungen.

Im MapEdit Datenmodel gibt es keine solche Tabelle und keine solchen Eindeutigkeits Prüfung. Die FID ist jedoch auch im MapEdit Datenmodell eindeutig und wird durch eine Datenbank Sequenz vergeben wenn neue Datensätze erzeugt werden.

Es kann jedoch vorkommen das wenn jemand Daten "händisch" oder via SQL direkt einfügt und eine FID mit gibt, das dann doppelte FIDs in der Datenbank landen.

Spatial Indexe erneuern

Erneuert die Spatial Indexe. Bei Oracle wird auch die SRID nochmals gesetzt.

Spatial Metadata erneuern

Ab Version 23.2.94 Erneuert die Spatial Geometrie Metadaten. Hierbei werden alle Spatial Metadaten entfernt und und für alle Tabellen, Views und Synonyme die eine Geometry Spalte haben neu angelegt.

Der Modus hat hier keine Wirkung. In allen 3 Modi wird immer alles entfernt und neu angelegt.

Hinweis

Bei verwenden von MapGuide muss der MapGuide Service bei allen Änderungen an der Datenbankstruktur neu gestartet werden damit MapGuide Änderungen mitbekommt.

Prüfe Views

Prüft alle Views auf Funktionsfähigkeit.

Prüfe Geometrie

Prüft auf defekte Geometrien in den Tabellen.

Wenn "PRÜFEN UND REPARIEREN" ausgeführt wird dann wird versucht die defekten Geometrien
zu reparieren.

Ist nur bei Oracle,Postgre und SQLServer verfügbar.

Dieser Vorgang kann ggf lange dauern da jeder Einzelne Datensatz alletr Tabellen geprüft wird.

Prüfe Synonyme

Ab Version 23.1.155 verfügbar.

Prüft auf defekte Synonyme.

Diese Funktion ist nur bei Oracle Datenbanken verfügbar und betrifft nur Synonyme auf Tabellen, nicht auf Prozeduren, Funktionen oder andere Datenbank Objekte.

Wird Reparieren gewählt wird zuerst versucht defekte Synonyme neu zu kompilieren.

alter synonym NAME compile;

Ist das Synonym danach immer noch nicht lauffähig wird das Synonym gelöscht.

Warnung

Defekte Datenbank Objekte wie Synonyme verursachen eine langsame Performance beim laden der Schema Informationen. Dadurch wird MapEdit langsam. Sie sollten darauf achten das Sie defekte Datenbank Objekte reparieren oder entfernen.

Hinweis

Wenn Sie Datenbanken zu test Zwecken von anderen erhalten können diese Synonyme auf andere Datebanken enthalten die Sie nicht haben. Legen sie entweder die fehlende Datenbank an oder entfernen Sie Synonyme auf diese.