Ansicht
Dokumentation

ABENLOCKING_CONFLICTS - LOCKING CONFLICTS

ABENLOCKING_CONFLICTS - LOCKING CONFLICTS

General Data in Customer Master   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Sperrkonflikte auf IBM DB2

Bei DB2 for i5/OS werden Sperren nicht nur bei ändernden Transaktionen, sondern auch beim konsistenten Lesen von gepufferten Tabellen, Cluster- und Pool-Tabellen gesetzt. Im Datenbanksystem wird hierzu der Isolation Level "Read Stability" verwendet, der mit Hilfe von so genannten "Shared Locks" die gleichzeitige Änderung von Tabelleninhalten verhindert.

Sperrkonflikte können neben Timeouts und Deadlocks auch Fehler bei DDL (Data Definition Language) Anweisungen wie CREATE, ALTER und DROP verursachen sowie die Geschwindigkeit der Online-Reorganisation verlangsamen.

Sollte es erforderlich sein, die Position eines Cursors auch über den Commit-Zeitpunkt hinaus beizubehalten, kann die Anweisung OPEN CURSOR mit der Option WITH HOLD verwendet werden.

Um Sperrkonflikte zu vermeiden, sollten Commits als Datenbank-Commits ausgeführt werden. Hierfür kann folgender Funktionsbaustein verwendet werden:

IF cl_db_sys=>dbsys_type = 'DB2'.
  CALL FUNCTION 'DB_COMMIT'.
ENDIF.

Es empfiehlt sich, solche Datenbank-Commits in Programme mit extrem langen Lese-Operationen einzubauen.






General Data in Customer Master   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 2004 Date: 20240523 Time: 115007     sap01-206 ( 58 ms )