sql >> Databasteknik >  >> RDS >> Oracle

Identifiera och lösa Oracle ITL dödläge

Den bästa indikationen på ITL-tryck är från prestandavyerna:

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

visar TX-striden väntar och

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;

visar de tabeller och index som är inblandade.

(Som alla v$ visningar är resultaten från den tidpunkt då instansen startade.)

Om detta visar att du verkligen har ITL-väntningar, är parametrarna INITRANS och PCTFREE de viktigaste rattarna att vrida (men INITRANS =100 låter ganska högt för mig och dessa kostar utrymme).

Om ITL-väntningar inte är ett problem måste applikationskoden undersökas.



  1. 'datetime2'-fel när entitetsramverket används i VS 2010 .net 4.0

  2. Hur man importerar en MySQL-dump från kommandoraden MED överskrivning

  3. Hanteringsdatum i SQL Server

  4. Dela upp enorma (95 Mb) JSON-arrayer i mindre bitar?