PDA

View Full Version : Commitment - max. Datensätze



cziege
24-02-10, 15:23
Hallo liebe Leute,

mal eine evtl. "blöde" Frage.

Bin im Forum auf folgende Aussage von dem geschätzten Kollegen Fuerchau getroffen.


....Klar stieß man damals an die Commit-Grenze von 32766 Sätzen (jetzt ca. 0,5 Mio). Aber wer benötigt denn schon so große Transaktionen......Gibt es eine Obergrenze an Datenvolumen, die man mit einem Commit verarbeiten kann?

Wenn ja, besteht die Obergrenze bei ca. 500.000 Datensätzen?

Ich wundere mich gerade etwas darüber, dass es diese Grenze geben mag.

Ich danke euch schon einmal für eure Antworten, denn darauf bin ich sehr gespannt.

rmittag
24-02-10, 15:32
Die Frage an sich ist nicht blöde ...

Aber, wenn man Internet Zugang hat, kann man im IBM i 6.1 Information Center unter

-> Database -> Commitment Control -> Commitment Control for batch applications

diese Antwort spielend leicht finden.

Und, wer hier posten kann, hat doch Internet -- oder ?

R.

cziege
24-02-10, 15:43
.... ja super, und wie ist die Antwort?

Nein, natürlich gefunden!

Fuerchau
24-02-10, 16:25
Man muss auch daran denken, dass im Zweifel ein Rollback von 0.5 Mio Sätzen auch ganz schön lange dauert.

rmittag
24-02-10, 16:44
Zitat :

"A batch job can lock a maximum of 500 000 000 records."

Und das dauert dann wirklich ... ;-)

R.

cziege
25-02-10, 06:29
Ja, das dauert wirklich. Leider am eigenen Leib erfahren (2x sogar).

Evtl. mal zum Verständnis.

Fuerchau schreibt, 0.5 Mio Datensätze.
rmittag und IBM schreiben von 500 000 000 Datensätzen (500 Mio.).

???? - Ich vertrau jetzt mal IBM.

Fuerchau
25-02-10, 07:58
Das ist alles Releaseabhängig:

Bis V3R2 ca. 32K-Sätze
Bis V5R? ca. 0.5 Mio
Ab V? ca. 500 Mio

BenderD
25-02-10, 16:31
Commitment Controll ist eine Transaktionssteuerung!!! Wenn jemand mit seinen Transaktionen auch nur annähernd an die Uralt Grenze kommt, bei dem ist was mit dem Design krumm!!!

D*B


Hallo liebe Leute,

mal eine evtl. "blöde" Frage.

Bin im Forum auf folgende Aussage von dem geschätzten Kollegen Fuerchau getroffen.

Gibt es eine Obergrenze an Datenvolumen, die man mit einem Commit verarbeiten kann?

Wenn ja, besteht die Obergrenze bei ca. 500.000 Datensätzen?

Ich wundere mich gerade etwas darüber, dass es diese Grenze geben mag.

Ich danke euch schon einmal für eure Antworten, denn darauf bin ich sehr gespannt.

Fuerchau
25-02-10, 16:36
Mach mal einen CHGPF mit Source auf eine journalisierte Datei mit >250Mio Sätzen.
Nach stundenlangem Rumkopieren wird dann ein Rollback gemacht, da nun mal das schon Kopieren die Grenze sprengt.

Das System kann damit schon mal ein paar Tage stillgelegt werden.

Christian Bartels
26-02-10, 08:31
Was man in diesem Zusammenhang vielleicht auch noch erwähnen sollte ist, daß für jeden unter Commit geänderten Datensatz eine Sperre gesetzt wird. Meines Wissens sind für jede Satzsperre 256 Bytes erforderlich (sogenannter "Hold Record Block"), d.h. wenn man das Maximum von 500.000.000 Sätzen unter Commit ändert, werden über 110 GB für die Hold Record Blocks benötigt (die Sätze selber sind noch nicht einmal dabei). Die Erfahrung zeigt, daß es extrem langsam wird, wenn die Hold Record Blocks nicht in den Hauptspeicher passen.

Mit freundlichen Grüßen,
Christian Bartels.