Olá lista,
Estou tendo o seguinte problema e gostaria de algum auxílio.

Tenho um determinado programa que está rodando a seguinte instrução:

Select * from TABELA where nr_pk = 12 for update;
update TABELA set campo1=valor1, campo2=valor2 where nr_pk = 12;
commit;

Após essa instrução, é executado através de OUTRO programa, a seguinte 
instrução:

update TABELA set campo1=valor9 where nr_pk = 12;
commit;

O problema....
Quando executo esses dois programas em um determinado BD (Oracle 9.2.0.4), 
tenho a mensagem de erro mostrada no título: Deadlock detected while waiting 
for resource.

Porém, ao executar os mesmos dois programas em outro BD, também (Oracle 
9.2.0.4) não é apresentado nenhum erro e as instruções são realizadas 
corretamente.

Penso ser algum parâmetro de configuração na base de dados. Alguém já passou 
por um problema parecido??? Agradeço qualquer ajuda.

OBS: Não tenho como modificar o FOR UPDATE do primeiro programa, pois é um 
software de outra empresa que está funcionando de forma integrado ao meu.

Abraços,
Juliano

Responder a