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

Antonio Carlos a.lima.silva em terra.com.br
Qua Ago 29 17:20:42 -03 2018


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

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

Mas compartilho aqui a solução.

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

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

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

Obrigado.



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