Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como solucionar problemas de ORA-02049 e bloquear problemas em geral com Oracle


Uma maneira possível pode ser aumentar o INIT.ORA parâmetro para distributed_lock_timeout para um valor maior. Isso lhe daria mais tempo para observar o v$lock mesa, pois as fechaduras durariam mais.

Para obter a automação disso, você pode

  • Execute um trabalho SQL a cada 5-10 segundos que registra os valores de v$lock ou a consulta que o sandos deu acima em uma tabela e, em seguida, analise-a para ver qual sessão estava causando o bloqueio.

  • Execute um STATSPACK ou um AWR Relatório. As sessões que foram bloqueadas devem aparecer com alto tempo decorrido e, portanto, podem ser identificadas.

v$session tem mais 3 colunas blocking_instance, blocking_session, blocking_session_status que pode ser adicionado à consulta acima para fornecer uma imagem do que está sendo bloqueado.