Kbase 88910: Como identificar locks no banco OpenEdge
Autor |
  Patric Schaffner - CAT |
Acesso |
  Público |
Publicação |
  10/24/2018 |
|
Criado KCS - https://centraldeatendimento.totvs.com/hc/pt-br/articles/360024378551
Acessar o banco de dados pela ferramenta PROMON através do atalho PROENV, exemplo:
PROMON sports
Acessar a opção "1. User Control"
Identificar dentre as sessões existentes àquela que que está aguardando para locar um registro.
A coluna "Wait" irá apresentar um valor diferente de "--".
Geralmente locks de registros apresentam o valor "REC".
Na coluna "Table" ou "Table:Part" será apresentado o ID da tabela.
Na coluna "DbKey" será apresentado o recid do registro em questão.
Voltar a tela principal do promon, escolher a opção "4. Record Locking Table"
Identificar dentre as sessões listadas quais delas estão locando a mesma tabela e o mesmo registro.
Isso é possível pelos valores das colunas "Table" ou "Table:Part" e a coluna "Rowid", respectivamente.
A flag "Q" na coluna "Flags" indicam as sessões que estão aguardando pelo lock (fila - queue).
Aquela sessão que não estiver com esta flag é a sessão que está prendendo o registro.
Se for uma sessão de usuário é possível conversar com ele para saber qual rotina ele está executando.
Para descobrir qual programa está sendo executado, siga os procedimentos descritos nas referências deste kbase:
WHAT IS CLIENT DATABASE-REQUEST STATEMENT CACHING?
https://knowledgebase.progress.com/articles/Article/P150383
Obs.: como o produto Datasul utiliza vários bancos, repetir o procedimento acima em todos os bancos até encontrar em qual deles está ocorrendo o lock.
Referências
|
P150383
- What is Client Database-Request Statement Caching?
|