sql >> Database teknologi >  >> RDS >> Oracle

Identifikation og løsning af Oracle ITL Deadlock

Den bedste indikation af ITL-tryk er fra ydeevnevisningerne:

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

viser TX-påstand venter, og

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;

viser de involverede tabeller og indekser.

(Som alle v$ visninger, er resultaterne fra det tidspunkt, hvor forekomsten blev startet.)

Hvis dette viser, at du faktisk har ITL-venter, så er INITRANS- og PCTFREE-parametrene de vigtigste knapper at dreje (men INITRANS =100 lyder ret højt for mig, og disse koster plads).

Hvis ITL-venter ikke er et problem, skal applikationskoden undersøges.



  1. CHECK CONSTRAINT i Oracle SQL

  2. Oracle vælger data efter sammenhængende datoblokke

  3. MySQL vælg øverste rækker med samme tilstandsværdier

  4. JDBC indsættelsesfejl