Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Identifizieren und Beheben von Oracle ITL Deadlock

Der beste Hinweis auf den ITL-Druck sind die Leistungsansichten:

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

zeigt TX-Konkurrenz-Wartezeiten, und

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;

zeigt die beteiligten Tabellen und Indizes.

(Wie alle v$ Views sind die Ergebnisse ab dem Zeitpunkt, an dem die Instanz gestartet wurde.)

Wenn dies zeigt, dass Sie tatsächlich ITL-Wartezeiten haben, dann sind die Parameter INITRANS und PCTFREE die Hauptregler, an denen Sie drehen müssen (aber INITRANS =100 klingt für mich ziemlich hoch und diese kosten Platz).

Wenn ITL-Wartezeiten kein Problem darstellen, muss der Anwendungscode untersucht werden.