Repository-Datenbank reorganisieren (rgzrep)

1                     Themenübersicht

Das Tool „rgzrep“ ermöglicht es, die Repository-Datenbank nach bestimmten Gesichtspunkten zu reorganisieren. Das ist z. B. notwendig, wenn eine neue Repository-Datenbank durch Kopieren einer bestehenden Datenbank aufgesetzt wird (Erstellung eines Entwicklungssystem, eines Korrektursystems oder Aufsetzen eines Auslieferungssystems).

2                     Zielgruppe

System-Administratoren

3                     Beschreibung

Nach der Ausführung einer Optionen wird nur die Anzahl der Objekte, die von der Reorganisation betroffen sind, ausgegeben. Nur durch die Option commit erfolgt die eigentliche Löschung der betroffenen Daten. Durch bestimmte Filter kann die Anzahl der betroffenen Daten eingeschränkt werden.

3.1               Befehl

Nachfolgend finden Sie den Befehl inklusive aller möglichen Parameter.

rgzrep [-updateOriginalSystemFlags] [-lockedObjects]

[-deleteOpenJobs] [-jobs] [-refreshes]

[-convertExported] [-oldVersions] [-killObjects] [-testObjects] [-internalUseOnlyObjects]

[-javaSources] [-helpSources] [-oldJavaClasses]
[-adaptedTexts] [reorganizeLanguages] [-job:<str-1> … -job:<str-n>]

[-refresh:<str-1> … -refresh:<str-n>]

[-release:<str-1> … -release:<str-n>]

[-killObject:<str-1> … -killObject:<str-n>]

[-objectType:<int-1> … -objectType:<int-n>]

[-p:<str-1> … -p:<str-n>]

[-r] [-applicationCode] [-systemCode] [-imported] [-exported] [-convertExportedToImported]

[-deleteArchiveNLS] [-testProtocols]

[-userProperties] [-verbose] [-blockSize:<int>]

[-commit] [-displayInformation] [-isDeliverable] [-ignoreWarnings] [-setObjectsToOriginal]

3.2               Parameter

Die Parameter des Befehls werden in der folgenden Tabelle erläutert. Die in eckigen Klammern gesetzten Parameter sind optional, die anderen hingegen sind Pflichtparameter. Für einige Parameter kann ein Stern (*) als Platzhalter angegeben werden, um damit alle möglichen Werte ausgeben zu können.

Nicht alle Parameter können mehrfach genannt werden, nur die, die folgenden Zusatz an den Parametervariablen aufweisen, sind für die Mehrfachnennung zugelassen: „<str-1> … <str–n>“.

Parameter Erläuterung
[-updateOriginal
SystemFlags]
Im ObjectDirEntry wird neben der Repository-GUID ein boolscher Wert redundant gespeichert, ob das Entwicklungsobjekt in diesem Repository original ist.

Wird diese Option aufgerufen, so werden alle boolschen Werte anhand der aktuellen und eingetragenen Repository-GUIDs aktualisiert.

[-lockedObjects] Entfernt alle Entwicklungsobjekte, die sich zur Bearbeitung in einer Entwicklungsaufgabe befinden. Es wird die vorherige Version wiederhergestellt. Neu angelegte Entwicklungsobjekte werden vollständig gelöscht. Die Entwicklungsaufgaben müssen danach separat gelöscht werden. Diese Option wird für das Aufsetzen eines neuen Systems als Kopie des aktuellen Systems benötigt. Auf der Kopie werden damit nicht abgeschlossene Entwicklungen gelöscht.
[-deleteOpenJobs] Löscht alle offenen Entwicklungsaufgaben. Zuvor sollten alle Entwicklungsobjekte aus den Aufgaben entfernt sein (lockedObjects).
[-jobs] Löscht alle Entwicklungsaufgaben des Systems vollständig.

Filter: [-systemCode],[-applicationCode]

[-refreshes] Löscht alle Softwareaktualisierungen, einschließlich der Abhängigkeiten und Labels. Die Dateien im Import- und Exportverzeichnis werden nicht gelöscht.

Filter: [-systemCode],[-applicationCode],
[-imported],[-exported]

[-convertExported] Löscht alle importierten Softwareaktualisierungen und konvertiert die exportierten Softwareaktualisierungen in importierte.
[-oldVersions] Löscht alte Versionen aller Entwicklungsobjekte aus dem Archiv. Die aktive Version sowie die in Bearbeitung befindliche Version werden nicht gelöscht. Es werden die Versions-, Label- und Archivdaten gelöscht.

Filter: [-systemCode],[-applicationCode],
[-objectType:<int-1> … -objectType:<int-n>], [-p:<str-1> … -p:<str-n>],[-r]

[killObjects] Löscht alle gelöschten Entwicklungsobjekte vollständig. Es werden ObjectDirEntry-, Versions-, Label- und Archivdaten gelöscht.

Filter: [-systemCode],[-applicationCode],
[-objectType:<int-1> … -objectType:<int-n>], [-p:<str-1> … -p:<str-n>],[-r]

[-testObjects] Löscht alle Entwicklungsobjekte, die in Testnamensräumen angelegt sind, vollständig. Es werden ObjectDirEntry-, Versions-, Label-, Archiv- und Systemdaten gelöscht.

Filter: [-systemCode],[-applicationCode],
[-objectType:<int-1> … -objectType:<int-n>], [-p:<str-1> … -p:<str-n>], [-r]

[-internalUse
OnlyObjects]
Löscht alle Entwicklungsobjekte, die in internen Namensräumen angelegt wurden, vollständig. Es werden ObjectDirEntry-, Versions-, Label-, Archiv- und Systemdaten gelöscht.

Filter: [-systemCode],[-applicationCode],
[-objectType:<int-1> … -objectType:<int-n>], [-p:<str-1> … -p:<str-n>], [-r]

[-javaSources] Löscht alle Java-Quelldateien aus der Repository-Datenbank. Dateien im Dateisystem werden nicht gelöscht.
[-helpSources] Löscht alle Hilfe-Quelldateien aus der Repository-Datenbank. Dateien im Dateisystem werden nicht gelöscht.
[-oldJavaClasses] Löscht alte Versionen der Java-Klassen aus dem Archiv. Die aktive Version sowie die in Bearbeitung befindlichen Version werden nicht gelöscht.
[-adaptedTexts] Löscht alle in Versionierungslevel 7 oder über den technischen Eigenschaftsdialog angepassten Texte.
[-reorganize
Languages]
Löscht für alle Sprachen, die nicht auf der Repository-DB konfiguriert sind, die Texte und die Hilfedateien. Dabei werden auch die Hilfedateien im Dateisystem gelöscht.
[-job:<str>] Löscht die angegebene Entwicklungsaufgabe. Diese muss bereits aktiviert sein oder darf keine Entwicklungsobjekte enthalten. Eingetragene OQL-Statements werden gelöscht.
[-refresh:<str-1> … -refresh:<str-n>] Löscht die angegebene Softwareaktualisierung. Als Parameter muss die GUID der Softwareaktualisierung angegeben werden.
[-release:<str-1> … -release:<str-n>] Löscht das angegebene Release mit allen zugehörigen Lables. Als Parameter kann der Name des Releases (z. B.: 1.1.0) oder die Release-GUID angegeben werden.
[-killObject:<str-1> … -killObject:<str-n>] Analog der Option [-killObjects]. Hier explizit das angegebene Entwicklungsobjekt gelöscht. Als Parameter kann der vollständige Entwicklungsobjektname mit dem Objekttyp (<Entwicklungsobjektname>#<typ-id>) oder die GUID des Entwicklungsobjekts angegeben werden.
[-objectType:<int-1> … -objectType:<int-n>] Filter auf die Entwicklungsobjekttypen.
[-p:<str-1> … -p:<str-n>] Filter auf die Namensräume.
[-r] Wenn der Filter auf Namensräume verwendet wird, werden die darunter liegenden Namensräume berücksichtigt.
[-applicationCode] Filter auf Entwicklungsobjekte oder Softwareaktualisierungen aus dem Anwendungs-Code.
[-systemCode] Filter auf Entwicklungsobjekte oder Softwareaktualisierungen aus dem System-Code.
[-imported] Berücksichtigt nur importierte Softwareaktualisierungen.
[-exported] Berücksichtigt nur exportierte Softwareaktualisierungen.
[-convertExported
ToImported
Konvertiert alle exportierten Softwareaktualisierungen in importierte Softwareaktualisierungen.
[-deleteArchiveNLS] Löscht nicht mehr benötigte Texte aus der Repository-Datenbank.
[-testProtocols] Löscht alle Protokolle der Testläufe.
[-userProperties] Löscht alle benutzerspezifischen Einträge aus der Repository-Datenbank: Gespeicherte Suchen, Favoriten und Zuordnungen von Benutzern zu Berechtigungsrollen.
[-verbose] Ausgabe auf der Kommandozeile.
[-blockSize:<int>] Setzt die Blockgröße für die Datenbanktransaktion. Der Vorschlagswert ist 100. Der Eintrag ist nur mit der Option [-commit] relevant.
[-commit] Löscht die ermittelten Daten aus der Repository-Datenbank. Ohne diese Option werden die Ergebnisse lediglich auf der Konsole ausgegeben.
[-displayInformation] Zeigt folgende Informationen an:

·            Alle gesperrten Entwicklungsobjekte.

·            Alle offenen Entwicklungsaufgaben.

[-isDeliverable] Prüft das System auf folgende Eigenschaften:

·            Alle Entwicklungsaufgaben müssen aktiviert sein

·            Alle Entwicklungsobjekte dürfen nicht gesperrt sein.

·            Alle Softwareaktualisierungen vom Typ Export müssen exportiert sein.

·            Alle Softwareaktualisierungen vom Typ Import müssen vollständig installiert sein.

[-ignoreWarnings] Alle Warnungen werden ignoriert.
[-setObjectsToOriginal] Im ObjectDirEntry wird für jedes Entwicklungsobjekt festgehalten in welchem System es entstanden ist und ob das Entwicklungsobjekt in diesem Repository original ist. Diese Attribute werden für alle Entwicklungsobjekte, die in Namensräumen liegen, die zum aktuellen Entwicklungsprefix gehören, angepasst. Die RepositoryGuid wird durch die aktuelle RepositoryGuid ersetzt und die Entwicklungsobjekte werden als original in diesem System gekennzeichnet. Dieser Befehl ist vor allem nach der Übernahme von Adaptierungen aus einem Vorgängerrelease nützlich. Da er, wenn das Entwicklungsprefix gleich bleibt, genau diese Adaptierungen als original im neuen Release kennzeichnet.

 

Hinweise:

  • Beim Löschen von Entwicklungsobjekten wird nicht geprüft, ob Referenzen auf diese Objekte existieren. Die Repository-Daten können nach dem Löschen inkonsistent sein. Das kann mit dem Tool “chkrep” überprüft werden.
  • Aus einem Entwicklungssystem darf kein Entwicklungsobjekt mit einem Löschkennzeichen endgültig gelöscht werden, das mithilfe einer Softwareaktualisierung ausgeliefert wurde oder bereits durch Kopie der Repository-Datenbank in einem anderen System existiert. Es besteht ansonsten die Gefahr, dass das Objekt im Entwicklungssystem mit derselben Identität angelegt wird. Das führt beim Import zu einem nicht lösbaren Konflikt (selber Namensraum und Name, unterschiedliche GUID).
  • Importierte Softwareaktualisierungen sollten niemals gelöscht werden, da diese den Code-Stand des Systems angeben. Eine Ausnahme ist das Aufsetzen eines Entwicklungssystems für ein neues Release. Außerdem kann dadurch das Einspielen weiterer Softwareaktualisierungen verhindert werden, da die Abhängigkeiten nicht mehr korrekt aufgelöst werden.
  • Aus Korrektur- und Entwicklungssystemen dürfen keine alten Versionen aus dem Archiv gelöscht werden, da bestehende Softwareaktualisierungen sich dann nicht mehr exportieren lassen. Das Löschen archivierter Daten kann in Test-, Auslieferungs- und Produktivsystemen vorgenommen werden.

 

Czy ten artykuł był pomocny?