Forum
hallo jaipur,
der Isolation-Level wird nicht an der Datenbank, sondern am Package (oder Plan) angegeben. Allerdings bestimmt der Iso nicht die Bereiche, die gesperrt werden, sondern wie lang ein Lock bestehen bleibt (insbesondere S-Locks).
Um den gesperrten Bereich zu verkleinern kann man am Tablespace Row-Level-Locking aktivieren (Default ist Page-Locking, bzw. Locksize Any). Ich empfehle aber, dies nur nach einer umfangreichen Analyse des Problems zu tun! Also zunächst die Zugriffspfade analysieren, sind sie ok? Ist der schlechte Durchsatz tatsächlich auf Lock-Suspensions zurück zu führen? Gibt es Deadlocks/Timeouts?
M. E. wird Row-Level-Locking fast immerr zu schnell eingesetzt. Bei Row-Level-Locking ist insbesondere keine Lock-Avoidance mehr möglich!
Locking ist im DB2 (leider) ein sehr umfangreiches Thema, das aber meist sehr stiefmütterlich behandelt wird (und in den Unterlagen auch schlecht erklärt ist). Kann hier leider nicht einen ganzen Aufsatz über Locking schreiben, aber vielleicht kannst du das Problem noch näher beschreiben.
MfG Rolf