Fehlerhafte CMDB-Status-Einträge bereinigen
Problem
In i-doit sind fehlerhafte CMDB-Status-Einträge vorhanden, die sich über die Oberfläche nicht löschen lassen. Diese können z.B. durch fehlerhafte Imports oder manuelle Datenbankänderungen entstanden sein.
Vorbereitung
Vor jeder Datenbankänderung ein vollständiges Backup erstellen.
Die Standard-CMDB-Status dürfen nicht gelöscht werden. Diese sind an einer Konstante im Feld isys_cmdb_status__const erkennbar (z.B. C__CMDB_STATUS__IN_OPERATION). Nur Einträge ohne Konstante sind benutzerdefiniert und können entfernt werden.
Schritt 1: Fehlerhafte Status identifizieren
SELECT * FROM isys_cmdb_status;
Notieren Sie die ID des fehlerhaften Eintrags (Spalte isys_cmdb_status__id).
Schritt 2: Betroffene Objekte prüfen
SELECT * FROM isys_obj
WHERE isys_obj__isys_cmdb_status__id = <FEHLERHAFTE_ID>;
Falls Objekte diesen Status verwenden, müssen diese zuerst auf einen gültigen Status umgestellt werden.
Schritt 3: Objekte korrigieren
UPDATE isys_obj
SET isys_obj__isys_cmdb_status__id = <KORREKTE_ID>
WHERE isys_obj__isys_cmdb_status__id = <FEHLERHAFTE_ID>;
Die ID des gewünschten Ziel-Status entnehmen Sie der Abfrage aus Schritt 1 (z.B. 6 für "In Betrieb").
Schritt 4: Fehlerhaften Status löschen
DELETE FROM isys_cmdb_status
WHERE isys_cmdb_status__id = <FEHLERHAFTE_ID>
AND isys_cmdb_status__const IS NULL;
Die Bedingung isys_cmdb_status__const IS NULL stellt sicher, dass keine Standard-Status versehentlich gelöscht werden.
Ausführliche Dokumentation: CMDB-Status in der Knowledge Base
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.