IRLM Lock, Deadlock, Timeout

Der DB2 Locking-Mechnismus, sowie Deadlock- und Timeout-Erkennung werden vom IRLM (Intersystem Resource Lock Manager, ehemals IMS Lock Manager) vorgenommen, das über einen  separaten Address Space und separate Dataspaces verfügt. Die verschiedenen Optionen des IRLM werden über die DB2 Startup Panels DSNTIPJ und DSNTIPI definiert und in die DB2 Installationsparameter DSNZPARM  eingesetzt. Die für das Locking wichtigsten Parameter sind:

  • IRLMRWT - Resource Timeout (dflt. 60 sec)
    Wartezeit, die vergehen soll, bevor ein Lock Request abgebrochen
  • UTIMOUT - Utility Timeout (dflt. 6)
    Anzahl der Resource Timeouts, die ein Utility fr einen Lock warten kann, bevor der Lock Request abgebrochen wird.
  • COMCYCL - Time Interval (dflt. 500 mill. sec)
    Delay zwischen den Lock Processing Zyklen
  • PC - Cross Memory (dflt. NO)
    Angabe, ob IRLM Cross Address Space Calls nutzen soll. NO setzt interne Strukturen in die ECSA (Extended Common Storage Area), YES in Private Address Space.
  • MAXCSA - Maximum ECSA (dflt. 5M)
    Maximaler Bereich in der o.g. ECSA.
  • NUMLKTS - Locks per Tablespace (dflt. 1000)
    Maximale Anzahl der Pages, die ein einzelnes Programm in einem Tablespace sperren darf. Wird diese Zahl überschritten, werden mit der s.g. Lock  Escalation alle Page Locks freigegeben und stattdessen der gesamte Tablespace gelocked.
  • NUMLKUS - Locks per User (dflt. 10000)
    Maximale Anzahl der Pages, die eine Anwendung als Daten, Index und Index Subpages insgesamt sperren darf.
  • DEADLOK - Deadlock Time (dflt. 15)
    Wartezeit, die vergehen soll, bevor ein konkurrierender Lock Request als Deadlock abgebrochen wird. Diese Zeit muß kleiner als die TIMEOUT sein sein.
  • DEADLOK - Deadlock Cycle (dflt. 4)
    Ergibt sich aus dem Verhältnis der Timeout- zur Deadlock-Zeit. Bei den Defaults bedeutet dies: 60 / 15 = 4. D.h., dass ein Deadlock  vier Mal früher erkannt wird, als ein Timeout.

Bestimmte Prozesse erleben nach einer festen Systemvorgabe einen Timeout früher oder später als andere. Ein Timeout wird nach Ablauf der Timeout Period erkannt, bei ...

  • Transaktionen und Queries (IMS MPP, CICS, QMF, TSO) sofort
  • Utilities seit V3.1 je nach UTIMOUT-Wert
  • Bind Processing dreifach länger als TX's, Queries und Util's
  • IMS BMP's vierfach länger als TX's, Queries und Util's
  • IMS Fatch Path sechsfach länger als TX's, Queries und Util's

 

 

© Gernot Ruban