Manutenção de Bloqueio

Varrendo para Localizar Registros Bloqueados

É prática recomendada varrer o banco de dados regularmente em busca de registros bloqueados. Para localizar registros bloqueados, crie e execute uma consulta que identifique os registros e os usuários que mantêm cada bloqueio. Ao localizar os registros bloqueados, execute a ação apropriada para remover os bloqueios, se necessário.

Desbloqueando Registros com um Recurso de Tempo Limite

Você pode criar um script que permita identificar registros bloqueados e desbloqueá-los automaticamente. Um script de tempo limite deve desempenhar estas tarefas:
  • Colete o conjunto de tipos de registro definidos pelo esquema.
  • Construir uma estrutura de dados que identifique todos os registros bloqueados para cada tipo de registro. A estrutura deve incluir informações tais como o usuário que suspende o bloqueio, a versão que está bloqueada e o tempo em que o bloqueio foi observado. Essa estrutura inicialmente permanece vazia.
  • Construir uma consulta para localizar os registros que estão bloqueados atualmente, selecionando o ID do registro e as colunas locked_by e lock_version.
  • Compare o conjunto atual de registros bloqueados com aqueles já conhecidos e registrados na estrutura de dados. Essa verificação deve incluir uma correspondência quanto ao usuário do bloqueio e à versão do registro que foi bloqueado, a fim de distinguir bloqueios pelo mesmo usuário, mas em uma nova versão do registro, ou por um usuário diferente.
  • Remover bloqueios que foram suspensos por mais tempo que um intervalo escolhido, carregando a entidade e chamando o método Unlock API.
  • Atualize a estrutura de dados para incluir referências nos registros que são constatados como recém-bloqueados e remova as referências aos registros que não estão mais bloqueados.

O script deverá também registrar sua atividade ou notificar os usuários ao remover um bloqueio que eles estão mantendo.

O script deverá ser configurado para ser executado a intervalos regulares. O intervalo de tempo limite escolhido e a freqüência com que o script executa uma varredura determinará o tempo mínimo e máximo esperado para um bloqueio atingir o tempo limite. Os usuários deverão conhecer esses valores, já que eles afetam:
  • por quanto tempo um usuário pode trabalhar na edição de um registro antes de perder seu bloqueio.
  • quanto tempo um usuário deve aguardar a liberação automática de um bloqueio abandonado.

Utilizando findrecordlocks_pl para Manutenção de Bloqueio

O Rational ClearQuest inclui um script findrecordlocks_pl que você pode utilizar para localizar bloqueios de registro e configurar os bloqueios de tempo limite. Para obter informações adicionais e instruções para utilizar o script, consulte a página de referência do findrecordlocks.pl.


Feedback