Nach gesperrten Datensätzen suchen
Es empfiehlt sich, die Datenbank regelmäßig nach gesperrten Datensätzen zu durchsuchen. Um gesperrte Datensätze zu finden, müssen Sie eine Abfrage erstellen, die die Datensätze und die Benutzer, die die einzelnen Sperren halten,
angibt. Anschließend müssen Sie die Abfrage ausführen. Wenn Sie die gesperrten Datensätze lokalisiert haben, führen Sie die erforderliche Aktion aus, um die Sperren gegebenenfalls aufzuheben.
Datensatzsperren mit einer Zeitlimitfunktion aufheben
Sie können ein Script erstellen, das Ihnen erlaubt, gesperrte Datensätze anzugeben und deren Sperre automatisch aufzuheben. Die Vorgehensweise
bei Verwendung eines Scripts mit Zeitlimit wäre folgende:
- Erfassen Sie die Satztypen, die vom Schema definiert werden.
- Erstellen Sie eine Datenstruktur, die alle gesperrten Datensätze pro Satztyp angibt. Die Struktur beinhaltet Informationen zu dem Benutzer, der die Sperre hält, zur gesperrten Version und zu dem Zeitpunkt, zu dem die Sperre beobachtet wurde. Diese Struktur ist anfänglich leer.
- Erstellen Sie eine Abfrage, um die gegenwärtig gesperrten Datensätze zu suchen, und geben Sie dazu die Spalten für die Datensatz-ID sowie die Spalten "locked_by" und "lock_version" an.
- Vergleichen Sie die aktuelle Gruppe gesperrter Datensätze mit den Datensätzen, die bereits bekannt und in der Datenstruktur erfasst sind. Bei dieser Prüfung müssen die Angaben zum Benutzer, der die Sperre ausgelöst hat, und zur Version des gesperrten Datensatzes übereinstimmen, damit Sperren desselben Benutzers, die für eine neuere Version des Datensatzes gelten, oder Sperren eines anderen Benutzers
unterschieden werden können.
- Wenn Sperren länger gehalten wurden als durch das Zeitlimit zugelassen ist, entfernen Sie die Sperre, indem Sie die Entität laden und die API-Methode "Unlock" aufrufen.
- Aktualisieren Sie die Datenstruktur, indem Sie Verweise auf Datensätze, die vor kurzem gesperrt wurden, hinzufügen, und Verweise auf Datensätze, die nicht mehr gesperrt sind, entfernen.
Außerdem sollte das Script so konzipiert sein, dass es
seine Aktivität protokolliert oder Benutzer, die Sperren halten, benachrichtigt, wenn es die entsprechenden Sperren aufhebt.
Das Script sollte so konfiguriert sein, dass es in regelmäßigen Abständen ausgeführt wird. Das ausgewählte Zeitlimitintervall und die
Häufigkeit, mit der es eine Suche ausführt, bestimmt die erwartete Ober- und Untergrenze für das Zeitlimit einer Sperre. Benutzer müssen aus folgenden Gründen über diese Werte informiert werden:
- Die Werte bestimmen, wie lange ein Benutzer einen Datensatz bearbeiten kann, bis die Sperre aufgehoben wird.
- Die Werte bestimmen, wie lange ein Benutzer warten muss, bis eine verlassene Sperre automatisch aufgehoben wird.
Script findrecordlocks_pl für Verwaltung von Sperren verwenden
Rational ClearQuest
beinhaltet das Script findrecordlocks_pl, mit dem Sie Satzsperren lokalisieren und zeitlimitbasierte Sperren definieren können. Weitere Informationen und Anweisungen zur Verwendung des Scripts
finden Sie auf der Referenzseite für findrecordlocks.pl.