sql >> Database >  >> RDS >> Oracle

Problemen met ORA-02049 oplossen en problemen in het algemeen vergrendelen met Oracle

Een mogelijke manier zou kunnen zijn om de INIT.ORA parameter voor distributed_lock_timeout naar een grotere waarde. Dit geeft je dan een langere tijd om de v$lock . te observeren tafel omdat de sloten langer meegaan.

Om dit te automatiseren, kunt u ofwel

  • Voer elke 5-10 seconden een SQL-taak uit die de waarden van v$lock registreert of de query die sandos hierboven in een tabel heeft gegeven en analyseer deze vervolgens om te zien welke sessie de vergrendeling veroorzaakte.

  • Voer een STATSPACK uit of een AWR Verslag doen van. De sessies die zijn vergrendeld, zouden met een hoge verstreken tijd moeten verschijnen en kunnen daarom worden geïdentificeerd.

v$session heeft nog 3 kolommen blocking_instance, blocking_session, blocking_session_status die kan worden toegevoegd aan de bovenstaande zoekopdracht om een ​​beeld te geven van wat er wordt vergrendeld.



  1. Alle triggers uit een database in SQL Server verwijderen of verwijderen?

  2. Voer uitgestelde trigger slechts één keer per rij uit in PostgreSQL

  3. Hoe de STR()-functie werkt in SQL Server (T-SQL)

  4. MySQL, voeg twee kolommen samen