Deadlocks em updates

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Performance Diagnostics & Tuning.
Post Reply
leonardopedroso

Deadlocks em updates

Post by leonardopedroso »

Portilho, bom dia!
Deadlocks geralmente são comportamentos de uma aplicação ruim e em uma em específico estou tendo muitos deadlocks no periodo da manhã.
Há alguma aconfiguração que posso fazer a nível de banco, tablespace, tabela ou índice para melhorar a contenção para minimizar os deadlocks? Isso seria uma ajuda a aplicação até que o problema de fato fosse resolvido pelo time de dev (só Deus sabe quando).

Se o tamanho do block interfere, nível de isolamento, inittrans, rebuild de índice e adjacencias.

portilho
Site Admin
Posts: 491
Joined: Wed May 29, 2013 8:51 am

Re: Deadlocks em updates

Post by portilho »

Para tentarmos minimizar os Deadlocks, temos que minimizar os Locks.

- Veja se não há um índice BITMAP envolvido.
- Se você tem contenção de ITL (Interested Transaction List), que pode ser vista no AWR na seção "Segments by ITL Waits". Se este é caso, temos as seguintes opções para reduzir a concorrência nos blocos:
a) aumentar o INITRANS dos objetos envolvidos;
b) reduzir o número de linhas nos blocos, reduzindo seu tamanho (movendo-os para uma TABLESPACE com tamanho de bloco menor).
c) reduzir artificialmente o número de linhas nos blocos, aumentando o PCTFREE.

Não acho prudente alterar o nível de isolamento.
Não vejo como REBUILD poderia ajudar nisso - na verdade poderia piorar, pois teríamos menos espaço livre nos blocos, e portanto mais concorrência.

leonardopedroso

Re: Deadlocks em updates

Post by leonardopedroso »

Obrigado Portilho!

Vou seguir os advices que você passou, analisar o AWR e fazer as alterações. Vou testar e retorno depois de um tempo pra te falar o ocorrido.

Muito obrigado.

portilho
Site Admin
Posts: 491
Joined: Wed May 29, 2013 8:51 am

Re: Deadlocks em updates

Post by portilho »

:-)
Sim, se possível não deixe de avisar sobre alguma mudança.

Post Reply