View Full Version : wieviele Sätze gehen wirklich in ein Member ?
... normalerweise legt man die mit NOMAX an, was SQL im default schon so macht.
D*B
@BenderD .... ja, das ist mir klar, was du schreibst.
aber ich habe hier ein Altsystem, das schon ewig und drei Tage läuft.
Und das in einem 24x7 - Environment ....
@Fuerchau .... entstanden ist diese Satzkapazität beim DSPFD, nachdem die Datei voll geworden ist, die Fehlermeldung gekommen ist und ich dann 9999 eingegeben habe. ....
Gruß und Danke.
Wir wär's mit einem CHGPF FILE(&L/&N) SIZE(*NOMAX) auf die betreffenden Dateien?
Ja, die Lösung des Themas ist mir klar.
ich habe mir jetzt mal ein Programm geschrieben, dass über die ganze Bibliothek fährt und herausliest, welche Dateien am voll-werden sind.
Danke nochmals an Euch alle.
@Fuerchau .... entstanden ist diese Satzkapazität beim DSPFD, nachdem die Datei voll geworden ist, die Fehlermeldung gekommen ist und ich dann 9999 eingegeben habe. ....
Gruß und Danke.
vorab: ich mache seit (gefühlten) Jahrzehnten nichts anderes als NOMAX und reuse deleted records.
Habe gerade mal ein wenig rumgespielt auf einer meiner Spielwiesen:
- die 9999 war der Büchse Schnurz, gemacht hat sie 2615 extends
- nach löschen von Sätzen und RGZPFM wurde die Datei wieder auf Ursprung gestellt
Wo bei Dir die exorbitant hohe Zahl an extends herkommt und in der Datei trotzdem fast nix drin ist, erschließt sich mir nicht, irgendwie scheint das alles eine Bruchbaustelle zu sein...
D*B
Mal probieren (unter V5R4) ...
CRTPF FILE(QTEMP/PF) SIZE(1 1 1)
CPYF FROMFILE(SYSIBM/SYSDUMMY1) TOFILE(QTEMP/PF) MBROPT(*ADD) FMTOPT(*NOCHK)
CPYF FROMFILE(SYSIBM/SYSDUMMY1) TOFILE(QTEMP/PF) MBROPT(*ADD) FMTOPT(*NOCHK)
CPYF FROMFILE(SYSIBM/SYSDUMMY1) TOFILE(QTEMP/PF) MBROPT(*ADD) FMTOPT(*NOCHK)
(C I 9999). Satz nicht hinzugefügt. Teildatei PF voll.
Antwort . . 9999
DSPFD FILE(QTEMP/PF) TYPE(*MBR)
Größe der Teildatei SIZE
Anfangsanzahl der Sätze . . . . . . . . : 1
Satzanzahl für Erweiterung . . . . . . : 1
Maximale Anzahl Erweiterungen . . . . . : 1
Aktuelle Anzahl Erweiterungen . . . . . . : 10000
Satzkapazität . . . . . . . . . . . . . . : 10001
Aktuelle Anzahl Sätze . . . . . . . . . . : 3
Anzahl gelöschter Sätze . . . . . . . . . : 0
Und wie ist die PF definiert? Standardmäßig mit 1000 pro Erweiterung oder mit 1?
Das Ergebnis deutet eher auf letzteres hin.
Standardmäßig mit 1000 pro Erweiterung
Nein, wie kommst du da drauf? (ok, habe eben erst gelesen, das du auch bei 1 Satz bist)
CRTPF FILE(QTEMP/PF) SIZE(1 1 1)
zunächst ein Satz,
Erweiterbar um einen Satz
genau ein mal
CPYF FROMFILE(SYSIBM/SYSDUMMY1) TOFILE(QTEMP/PF) MBROPT(*ADD) FMTOPT(*NOCHK)
Datei ist voll
CPYF FROMFILE(SYSIBM/SYSDUMMY1) TOFILE(QTEMP/PF) MBROPT(*ADD) FMTOPT(*NOCHK)
Datei wurde vom System erweitert
CPYF FROMFILE(SYSIBM/SYSDUMMY1) TOFILE(QTEMP/PF) MBROPT(*ADD) FMTOPT(*NOCHK)
Datei ist voll, die dft. definition ist ausgereitzt, frage den User:
(C I 9999). Satz nicht hinzugefügt. Teildatei PF voll.
Antwort . . 9999
Dateikapazität (mit 2 Sätzen) wurde um 9999 Sätze erweitert --> 10001
Das System hat nun 9999 mal die mögliche Erweiterung von einem Satz durchgeführt, und einmal vorab --> 10000
Robi
Hallo,
ich habe das jetz auch nochmal versucht.
Die Member-Size ist vorab so definiert:
Größe der Teildatei SIZE
Anfangsanzahl der Sätze . . . . . . . . : 100000
Satzanzahl für Erweiterung . . . . . . : 30000
Maximale Anzahl Erweiterungen . . . . . : 3
Aktuelle Anzahl Erweiterungen . . . . . . : 3
Satzkapazität . . . . . . . . . . . . . . : 190000
Dann kommt diese Fehlermeldung und wird mit 100 beantwortet:
(C I 9999). Satz nicht hinzugefügt. Teildatei xxx voll.
Antwort . . 100
Die Member-Size ist daraufhin so eingestellt:
Größe der Teildatei SIZE
Anfangsanzahl der Sätze . . . . . . . . : 100000
Satzanzahl für Erweiterung . . . . . . : 30000
Maximale Anzahl Erweiterungen . . . . . : 3
Aktuelle Anzahl Erweiterungen . . . . . . : 103
Satzkapazität . . . . . . . . . . . . . . : 3190000
Das Ergebnis ist nachvollziehbar: 30'000*100 + 30'000*3 =3'190'000
Also Alles im grünen Bereich .... ;-)
Grün? eher krebsrot!
Da stellt man in die Datei ein, dass es maximal 3 Erweiterungen geben darf und das System erlaubt trotzdem 103?
Die Kapazität sollte auf 30000*3 + 100000 = 190.000 beschränkt sein.
Da hat die IBM wohl eine Sicherheitslücke aufgemacht.