Problema com lock table

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
shpontes
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 08 Fev 2007 7:36 am
Localização: Santo Andre - SP

Bom dia pessoal

Estou com um probleminha.

Tenho uma função que utiliza o comando lock para bolquear a tabela

Código: LOCK TABLE ARC_COLETA_LOTE IN EXCLUSIVE MODE

O problema agora é a tabela está bloqueada e eu não consigo fazer mais nada.

Alguém saberia me dizer qual o comando para desbloquear. Se lock bloquea qual o seu oposto.

E eu preciso também saber o que foi bloqueado.

Se alguém puder me ajudar eu agradeço.

Atenciosamente,

Sheila
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Que eu saiba, o LOCK TABLE é por transação. Ou seja, vai durar até o próximo commit ou rollback.
shpontes
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qui, 08 Fev 2007 7:36 am
Localização: Santo Andre - SP

Vou tentar explicar melhor o que está acontecendo.

Eu tenho uma procedure que chama uma função.
Nesta procedure estou inserindo dados em uma tabela.
Na tabela em questão eu tenho um campo seqüencial.
Para gerar o numero seqüencial a procedure chama a função que utiliza o comando lock para travar a tabela e depois faz uma select utilizando a função max para pegar o próximo elemento. Quando a função devolve o valor a procedure inseri os dados.
O problema é que toda a vez que eu chamo a procedure ela para no comando lock e não vai.
Logo de manhã a procedure funcionava certinha, inseri vários registros. Depois de algumas tentativas a procedure parou de funcionar derrepente. Esta procedure é bem antiga, já está funcionando a uns 3 anos pelo menos.
Agora eu não sei o que fazer. Acho que deve estar travado algum processo, eu não sei. Já procurei na internet algo sobre o lock, mas até agora nada.
A seleção eu faço normalmente. Só não consigo utilizar a procedure. Preciso dela funcionando.

Obrigada pela atenção

Sheila
Responder
  • Informação