Scansione per rilevare record bloccati
È buona norma eseguire la scansione del database regolarmente per i record bloccati. Per trovare i record bloccati, creare ed eseguire una query che identifichi i record e gli utenti che detengono ciascun blocco. Una volta trovati i record bloccati, eseguire l'azione appropriata per rimuovere i blocchi, se necessario.
Sblocco dei record con una funzione timeout
È possibile creare uno script che consenta di identificare i record bloccati e sbloccarli automaticamente. Uno script di timeout dovrebbe funzionare come segue:
- Raccogliere la serie di tipi di record definita dallo schema.
- Creare una struttura dati che identifichi tutti i records bloccati per ciascun tipo di record. La struttura include informazioni come ad esempio l'utente che detiene il blocco, la versione bloccata e l'ora in cui è stato osservato il blocco. Questa struttura è inizialmente vuota.
- Creare una query per trovare i record correntemente bloccati, selezionando l'ID record, le colonne locked_by e lock_version.
- Confrontare la serie corrente di record bloccati con quelli già noti e registrati nella struttura dati. Questa verifica deve includere una corrispondenza nell'utente di blocco e nella versione del record bloccato, in modo da distinguere i blocchi con lo stesso utente ma su una nuova versione del record o con un diverso utente.
- Rimuovere i blocchi che sono stati conservati per un periodo di tempo superiore all'intervallo selezionato, caricando l'entità e richiamando il metodo API di sblocco.
- Aggiornare la struttura dati per aggiungere riferimenti a record appena bloccati e rimuovere i riferimenti a record non più bloccati.
Lo script dovrebbe registrare l'attività o notificare agli utenti quando rimuove un blocco detenuto da essi.
Lo script deve essere impostato per essere eseguito a intervalli regolari. L'intervallo di timeout selezionato e la frequenza con cui lo script esegue una scansione determineranno l'ora prevista minima e massima di timeout di un blocco. Questi valori dovrebbero essere noti agli utenti, poiché influenzano:
- quanto tempo un utente può operare modificando un record prima di perdere il blocco.
- quanto tempo un utente deve attendere che un blocco abbandonato venga rilasciato automaticamente.
Utilizzo di findrecordlocks_pl per la manutenzione blocco
Rational
ClearQuest include uno script findrecordlocks_pl che è possibile utilizzare per individuare i blocchi di record e impostare i blocchi di timeout. Per ulteriori informazioni e istruzioni per utilizzare lo script, consultare
la pagina di riferimento per findrecordlocks.pl.