Oracle
 sql >> Database >  >> RDS >> Oracle

Come risolvere ORA-02049 e bloccare i problemi in generale con Oracle

Un possibile modo potrebbe essere aumentare INIT.ORA parametro per distributed_lock_timeout ad un valore maggiore. Questo ti darebbe quindi più tempo per osservare il v$lock tabella poiché i blocchi dureranno più a lungo.

Per ottenere l'automazione di questo, puoi o

  • Esegui un processo SQL ogni 5-10 secondi che registra i valori di v$lock o la query che Sandos ha fornito in precedenza in una tabella e quindi analizzarla per vedere quale sessione stava causando il blocco.

  • Esegui un STATSPACK o un AWR Rapporto. Le sessioni bloccate dovrebbero essere visualizzate con un tempo trascorso elevato e quindi possono essere identificate.

v$session ha altre 3 colonne blocking_instance, blocking_session, blocking_session_status che può essere aggiunto alla query precedente per fornire un'immagine di ciò che viene bloccato.