sql >> Databasteknik >  >> RDS >> Oracle

Hur man felsöker ORA-02049 och låser problem i allmänhet med Oracle

Ett möjligt sätt kan vara att öka INIT.ORA parameter för distributed_lock_timeout till ett större värde. Detta skulle sedan ge dig längre tid att observera v$lock bord eftersom låsen skulle hålla längre.

För att uppnå automatisering av detta kan du antingen

  • Kör ett SQL-jobb var 5-10:e sekund som loggar värdena för v$lock eller frågan som sandos har gett ovan i en tabell och sedan analysera den för att se vilken session som orsakade låsningen.

  • Kör ett STATSPACK eller en AWR Rapportera. Sessionerna som låstes bör dyka upp med lång förfluten tid och kan därför identifieras.

v$session har ytterligare 3 kolumner blocking_instance, blocking_session, blocking_session_status som kan läggas till i frågan ovan för att ge en bild av vad som låses.



  1. MariaDB Connector/Python Beta nu tillgänglig

  2. IIf()-funktionen kontra IIf()-satsen

  3. Bästa metoderna för att köra totaler – uppdaterad för SQL Server 2012

  4. Min Välj SUM-fråga returnerar null. Det bör returnera 0