Manutenzione blocco

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 effettuare le seguenti operazioni:
  • Raccogliere la serie di tipi di record definita dallo schema.
  • Creare una struttura dati che identifichi tutti i record bloccati per ciascun tipo di record. La struttura dovrebbe 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 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 del 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 sull'utilizzo dello script, consultare la pagina di riferimento per findrecordlocks.pl.


Feedback