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 nichtsPrüfen und Reparieren:
Versucht Probleme zu reparieren, entfernt 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)
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.
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.
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.
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.
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.
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 Geometrie Typen
Ab Version 24.1.135
Prüft ob die Geometrien in der Tabelle zum Geometrie Typ der Tabelle passen.
Beispiel: Eine Linien Tabellen sollte keine Flächen oder Punkt Geometrien enthalten.
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.
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.
Wenn Sie Datenbanken zu test Zwecken von anderen erhalten können diese Synonyme auf andere Datenbanken enthalten die Sie nicht haben. Legen sie entweder die fehlende Datenbank an oder entfernen Sie Synonyme auf diese.
Prüfe Spalten
Ab Version 24.1.181 verfügbar
Meldet alle ganzzahligen Spalten bei denen die Länge (precision, Anzahl von Stellen) 18 überschreiten.
Diese sollten vermieden werden und wenn möglich auf einen Maximallänge von 18 gesetzt werden da ansonsten möglicherweise Daten und Softwarefehler entstehen können.
Warum:
Die Software verarbeitet Ganzzahlen mit dem Werte Bereich von
-9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807
also 18 Stellen.