[firebase-br] Firebird 2.5 "Objet in use" ao executar uma procedure

Carlos H. Cantu listas em warmboot.com.br
Qua Ago 29 21:51:05 -03 2018


Muito estranho... nenhuma outra conexão está alterando essa procedure?

PS: O CPUAffinity só faz efeito pro SuperServer e somente no Windows.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

AC> Sim é verdade, não se consegue mudar quando esta em uso.

AC> Por isso falei que "se não estou fazendo mudança na estrutura do
AC> banco em algum objeto dele", receber object in use, é no minimo
AC> estranho para um procedure que faz insert, update e delete apenas.

AC> Mas compartilho aqui a solução.

AC> O banco está em um Linux CentoOS e a instalação era SuperServer,
AC> dai que um pau desse derrubava todo mundo.

AC> Como ate pensei em adotar o Firbird 3, dei uma lida no livro do
AC> Cantu e ao ler sobre SS, CS e SC pedi ao administrador da rede
AC> mudar o SuperSever para SuperClassic e ate o momento NENHUM relato de problema.

AC> Tive que pedi para ele mudar o CpuAffinity para usar os nucleos
AC> 2,3 e 4 e reiniciar pois de uma queda de performance mas ate o momento ta ok.

AC> Obrigado.



AC> Em Qua 29/08/18 14:49, Gladiston Santana gladiston em vidy.com.br escreveu:

>> Nobre colega, você não consegue modificar uma procedure enquanto
>> ela ainda> estiver em uso por outra pessoa, o mesmo ocorre para
>> outros metadados.> Com programação em PHP é raro essa mensagem
>> provavelmente porque eu> trabalho com stateless, isto é, abro e
>> fecho conexões a todo instante.> Mas usando Delphi eu vejo esse
>> problema com frequencia quando tento um> 'alter table' em ambiente
>> de produção.> Este problema pelo que vejo não tem nada a ver com
>> transação ou lock de> registro, basta que o usuário a tenha
>> disparado a SP uma unica vez e> daquele momento em diante - mesmo
>> que não seja disparada novamente - a SP> estará em uso até que faça
>> a desconexão com o BD.> No meu caso, uso com Firedac.> Há na
>> internet um parametro que dizem resolver o problema, eu tentei e
>> não> resolveu por isso não vou lhe passar.> []´s> Em 29 de agosto
>> de 2018 09:34, Antonio Carlos <a.lima.silva em terra.com.br>>
>> escreveu:> > Caros estou tendo o seguinte erro :> >> > SqlCode -904
>> , GdsCode 335544453, Erro : Object PROCEDURE SP_PROCESSA> > is
>> in use> >> > Uso DBExpress e no componente de conexão
>> (waitonlocks=True ;> > isolationlevel=ReadCommitted) e a cada
>> transação explicita (T :=> >
>> Conn.BeginTransaction(TDBXIsolations.ReadCommitted);)> >> > A
>> procedure em questão NÃO MODIFICA executa apenas selects, updates
>> e> > inserts, não faz criação de tabelas temporárias ou views, eu
>> so vi esse> > tipo de erro quando se tenta alterar fisicamente um
>> objeto do banco com ele> > em uso.> >> > Alguma luz ?> >> >> >>
>> ______________________________________________> FireBase-BR
>> (www.firebase.com.br) - Hospedado em www.locador.com.br> Para saber
>> como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107> Para consultar
>> mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista