sql >> Databáze >  >> RDS >> Oracle

Jak řešit problémy s ORA-02049 a se zámkem obecně s Oracle

Jedním z možných způsobů může být zvýšení INIT.ORA parametr pro distributed_lock_timeout na větší hodnotu. To by vám pak poskytlo delší čas na sledování v$lock stůl, protože zámky by vydržely déle.

Chcete-li toho dosáhnout automatizace, můžete buď

  • Každých 5–10 sekund spusťte úlohu SQL, která zaznamenává hodnoty v$lock nebo dotaz, který sandos zadal výše, do tabulky a poté jej analyzujte, abyste zjistili, která relace způsobila zámek.

  • Spusťte STATSPACK nebo AWR Zpráva. Relace, které byly uzamčeny, by se měly objevit s velkým uplynulým časem, a proto je lze identifikovat.

v$session má 3 další sloupce blocking_instance, blocking_session, blocking_session_status které lze přidat do výše uvedeného dotazu, abyste získali obrázek o tom, co se zamyká.



  1. Jaký je ekvivalent SQL Server APPLY v Oracle?

  2. Jak mohu získat počet záznamů ovlivněných uloženou procedurou?

  3. Odstraňte primární klíč v MySQL

  4. Node.js MSSQL tedius ConnectionError:Nepodařilo se připojit k localhost:1433 - připojit ECONNREFUSED