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

Identifikace a řešení zablokování Oracle ITL

Nejlepší ukazatel tlaku ITL je z pohledu výkonu:

select event, total_waits, time_waited, average_wait
 from v$system_event
 where event like 'enq: TX%'
 order by 2 desc;

zobrazuje TX konflikt čekání a

select OBJECT_NAME, SUBOBJECT_NAME, TABLESPACE_NAME, 
       OBJECT_TYPE, STATISTIC_NAME, VALUE
  from v$segment_statistics 
  where statistic_name = 'ITL waits'
  and value > 0
  order by value desc;

zobrazuje příslušné tabulky a indexy.

(Stejně jako všechny v$ zobrazení, výsledky jsou od okamžiku, kdy byla instance spuštěna.)

Pokud to ukazuje, že skutečně máte čekání ITL, pak jsou hlavními knoby parametry INITRANS a PCTFREE, které je třeba otočit (ale INITRANS =100 mi zní dost vysoko a stojí to místo).

Pokud čekání ITL nepředstavuje problém, je třeba prozkoumat kód aplikace.



  1. Vyberte pouze dnešní (od půlnoci) časová razítka

  2. Laravel :Jak vzít posledních n (libovolný počet) řádků po seřazení ve vzestupném pořadí?

  3. Jak funguje sqrt() v PostgreSQL

  4. Opravena metoda Scope_Identity(), která vrací nesprávnou hodnotu?