"Tote" Beziehungsobjekte in Objekttabelle
-
Hallo ,
wir betreiben IdoIt PRO in Version 1.7 und programmieren auch eigene Reports. In einem dieser Reports fragen wir alle Softwarebeziehungen für verschiedene Serverobjekte ab. Wir haben vor kurzem alle unsere Datenbanken (DBMS) über Datenbankschema- und Datenbankinstanzobjekte mit den entsprechenden Anwendugen, und über die Softwarezuweisung auch mit den entsprechenden Servern verknüpft.
Nun fällt mir auf, dass mein Report immer noch gelöschte und neu angelegte Softwarebeziehungen doppelt aufführt. Wenn ich mir das auf der Datenbank anschaue, sehe ich dass diese alten Beziehungsobjekte immer noch existieren, und noch in einer Beziehung zum Datenbankschema, und zu Server/Software sind.
Allerdings werden diese Beziehungen nicht mehr in der Kategorie "Softwarezuweisung" des jeweiligen Servers angezeigt.
Die Systemtools zur Datenbankbereinigung lösen die Situation nicht auf. Die Beziehung besteht ja auch noch sauber in der Datenbank.Wie kann ich das Verhalten umgehen oder korrigieren?
Gruß
Yannick Hirschmeier -
Hallo Yannick,
in welchem Zustand befinden sich diese "geloeschten" Beziehungen? Es gibt: normal, archiviert, geloescht. Sobald sich ein Objekt (Beziehung) im Zustand geloescht befindet, muss dieses noch gepurged werden, damit es endgueltig entfernt wird.
Was Deinen Report angeht, da wuerde es vermutlich helfen, eben diese Zustands-Abfrage einzubauen, um nur noch Beziehungen mit dem Status normal darzustellen. Um aber die alten Beziehungen sauber zu entfernen, waere es hilfreich zu wissen, in welchem Zustand diese sich befinden und warum diese nicht aus der DB verschwinden.
In welcher Tabelle schaust Du nach den Beziehungen? isys_catg_relation_list?
Gruss,
jkondek -
Hallo,
wir haben unser Problem mittlerweile mit dem Idoit-Support untersucht. Allerdings konnten wird nicht eindeutig eine Ursache dafür herausfinden.
Die betroffenen Objekte und Datensätze (danke auch jkondek für den Hinweis) hatten alle den Status "Normal", also Status ID 2. Auch sonst waren die Daten aus DB-Sicht absolut sauber eingepflegt, soweit ich das beurteilen kann. Die Datensätze in Tabelle isys_catg_relation_list hatten eine ID, ein existierendes Master - und Slaveobjekt, sowie ein existierendes Beziehungsobjekt. Man konnte diese nur in dem Sinn von anderen Beziehungen unterscheiden, dass diese "toten" Beziehungen eben nicht im Idoit unter Softwarezuweisung zu sehen waren.
Wir vermuten, dass diese "toten Beziehungen" aus früheren Idoit Versionen stammen, da unser Inventar jetzt über mehrere Versionen gewachsen ist und wir zwischen den Versionen teilweise auch die Daten migriert haben. Wir haben uns jetzt mit einem Skript geholfen, dass diese Datensätze aus Tabelle isys_catg_relation_list und die zugehörigen Beziehungsobjekte (also nur das Referenzierte aus dem Feld "isys_catg_relation_isys_obj__id") aus der Datenbank löscht. Bei Interesse bin ich gerne bereit dieses zu teilen, falls mal jemand mit so einem Problem konfrontiert wird.
Viele Grüße