Anmelden

View Full Version : Datei in QTEMP läßt sich nicht löschen



Seiten : 1 [2]

BenderD
12-11-10, 11:12
... für diesen Wackelhaufen müsste man sich schon Mühe geben. Auf QTEMP Objekte kann ein anderer Job keine Locks halten und die des eigenen Jobs, verschwinden mit dem Job Ende.

D*B


Wer weiß da näheres dazu: Wenn ein Job beendet wird, löscht das System alle Objekte aus der Bibliothek QTEMP. Was passiert eigentlich wenn ein Objekt nicht gelöscht werden kann? Hat dann ein anderer, neuer Job dieses Objekt in seiner QTEMP stehen?

Pikachu
12-11-10, 11:20
Die Bibliotheken QTEMP sind echte Bibliotheken (temporäre oder permanente, siehe mit DMPSYSOBJ OBJ(*MCHCTX)) und beim Beenden eines Job wird jedes Objekt in der Bibliothek QTEMP durch das Systemprogramm QLIDLOBJ bzw. QLIDLFIL gelöscht (siehe im jeweiligen Jobprotokoll). Was passiert jetzt, wenn diese Systemprogramme ein Objekt nicht löschen können? Oder kommt sowas nie vor?

Nachtrag: Vorhandene QTEMP-Bibliotheken werden ja für neue Jobs wiederverwendet.

hoerl
12-11-10, 11:30
... wenn wir schon bei Empfehlungen sind: aus Design Gründen würde ich den ganzen Wackelhaufen mit CRTDUPOBJ hin und zurück - und was weiß ich was noch alles, bleiben lassen. Sollte mich nicht wundern, wenn man das durch ein SQL Statement ersetzen kann.

D*B

Hallo BenderD, das geht leider nicht, da eine Logik Daten aufbereitet, im SQL keine Chance.

Es geht um Bestandsbuchungen vorwärts - rückwärts. Errechne Bestand zu einem bestimmten Zeitraum (von - bis). Dazu möchte ich natürlich bereits vorhandene Buchungsprogramme nutzen.

Übrigens: Mit CPYF wird besagte Datei kopiert aber später ebenfalls nicht gelöscht - m E. ein Bug in der iSeries.

BenderD
12-11-10, 11:34
... ich mache da mal ein Fragezeichen dran, SQL kann immens viel.
Zum Problem selber: sind da OVRDBF im Spiel? sind da verschiedene Activation Groups im Spiel?

D*B



Hallo BenderD, das geht leider nicht, da eine Logik Daten aufbereitet, im SQL keine Chance.

Es geht um Bestandsbuchungen vorwärts - rückwärts. Errechne Bestand zu einem bestimmten Zeitraum (von - bis). Dazu möchte ich natürlich bereits vorhandene Buchungsprogramme nutzen.

Übrigens: Mit CPYF wird besagte Datei kopiert aber später ebenfalls nicht gelöscht - m E. ein Bug in der iSeries.

Fuerchau
12-11-10, 11:40
Wäre ja schlimm, wenn QTEMP's wiederverwendet würden.
Mir ist da nichts bekannt.
Jeder Job bekommt seine eigene neue QTEMP.
Die QTEMP wird bei Jobende bereinigt und wenn der Job verschwindet (keine Spools mehr) entfernt.

Pikachu
12-11-10, 13:33
IBM i Support: Software Technical Document : 31164135 (http://www-912.ibm.com/s_dir/SLKBase.nsf/1ac66549a21402188625680b0002037e/a070bbba12b31fec86256d660066c463?OpenDocument)

"... After a job ends, the QTEMP library associated with the job is now available for use by another job.

The creation date shown on the DSPOBJD command should be the actual creation date of when the library was created. Because the QTEMP library could be reused, the date/time could be very different from the date/time of when the job started. ..."

Fuerchau
12-11-10, 14:55
Und wieder was gelernt.
Ich denke aber, dass eine QTEMP nur dann verfügbar wird, wenn sie tatsächlich leer ist.
Solange sie nicht geleert werden kann wird wohl auch der Job nicht verschwinden können.