-
Teildatei- Satzsperren bei SQLRPGLE obwohl Programm zu
Hallo zusammen,
bei einem SQLRPGLE habe ich folgendes Phänomen, das auf einer Datei Satz und Teildateisperren bleiben, obwohl das Programm beendet ist.
Die Cursor werden alle definitiv geschlossen, kurz vor Programmende habe ich diese exclusiv nochmals abgesetzt und im JOBLOG steht auch das versucht wurde einen nicht geöffneten Cursor zu schließen und habe auch das Programm al mit der Option CLOSECURSOR *ENDMOD gewandelt --> Kein Unterschied.
Einzig was mir sonderbar vorkam ist, das im JOBLOG immer wieder was davon steht, das ODP nicht gelöscht werden.
Was kann ich machen, das alle Sperren "verschwinden" wenn das Programm am Ende ist?
Danke an alle Helfenden.
-
Was mich verwundert ist, dass nach dem Umwandeln mit CLOSQLCSR *ENDMOD die ODPs immer noch offen sind.
Kann es sein, dass immernoch die alte Variante läuft, d.h. die bei der mit *ENDACTGRP umgewandelt wurde?
Auf deutsch heißt das, hast Du die Aktivierungsgruppe beendet, bevor Du das neuumgewandelte Programm aufgerufen hast?
Ansonsten versucht SQL immer die ODPs solange offen zu halten wie möglich, um einen FULL OPEN zu vermeiden und einen PSEUDO OPEN auszuführen. Beim Full Open werden die Access Pläne aktualisiert und der ODP neu aufgebaut und mit Daten geflüllt. Beim PSEUDO Open wird der ODP wiederverwendet und lediglich die Daten aktualisiert. Das Aufbauen des ODPs ist der zeitaufwändigste Prozess beim Ausführen eines SQL Statements.
Eine Möglichkeit (Notlösung) , die ODPs auf eine bestimmte Datei zu schließen, sofern Du sie in Deinem Programm unqualifiziert angegeben hast, ist die Bibliothek in der sich die Datei befindet aus der Bibliotheksliste zu nehmen und anschließend wieder einzufügen.
Birgitta
-
Danke,
das mit der LIB werde ich mal versuchen. Ich bin mir aber sicher, das ich das Programm in einem neuen Job hab laufen lassen, da ich ja prüfen wollte, ob die Sperren danach verschwinden.
Werde mal schauen, vielleicht handelte es sich ja nur um eine kosmische Störung ;-)
-
... das einzige, was (fast) alles schließt, ist ein disconnect; aber was stört denn an den ODPs???
D*B
Zitat von ExAzubi
Hallo zusammen,
bei einem SQLRPGLE habe ich folgendes Phänomen, das auf einer Datei Satz und Teildateisperren bleiben, obwohl das Programm beendet ist.
Die Cursor werden alle definitiv geschlossen, kurz vor Programmende habe ich diese exclusiv nochmals abgesetzt und im JOBLOG steht auch das versucht wurde einen nicht geöffneten Cursor zu schließen und habe auch das Programm al mit der Option CLOSECURSOR *ENDMOD gewandelt --> Kein Unterschied.
Einzig was mir sonderbar vorkam ist, das im JOBLOG immer wieder was davon steht, das ODP nicht gelöscht werden.
Was kann ich machen, das alle Sperren "verschwinden" wenn das Programm am Ende ist?
Danke an alle Helfenden.
-
Zitat von ExAzubi
bei einem SQLRPGLE habe ich folgendes Phänomen, das auf einer Datei Satz und Teildateisperren bleiben, obwohl das Programm beendet ist.
Hallo,
das klingt für mich nach Commitment-Control. Falls es so ist, entweder vor Programmende ein
oder
Code:
Exec Sql set options Commit=*none;
-
Wird das Programm mit LR auf ON beendet?
-
Zitat von Pikachu
Wird das Programm mit LR auf ON beendet?
*INLR=*ON betrifft nur den RPG-Zyklus und nicht embedded SQL.
... und unter ILE funktioniert der *INLR anders als unter RPGIII, zwar werden die Dateien, die in den F-Bestimmungen definiert sind nach wie vor geöffnet und geschlossen, das Programm wird jedoch nicht aus dem Speicher entfernt. Beim nächsten Aufruf wird lediglich der (noch) reservierte Speicher neu initialisiert.
Ein Programm wird erst durch Beenden der Aktivierungsgruppe in der es läuft aus dem Speicher entfernt.
P.S. RPG-Zyklus meint nicht zwingend IP, sondern dass der Zyklus in jeder RPG-Main-Procedure automatisch aktiviert ist.
Birgitta
-
Programm umwandeln mit COMMIT(*NONE)
-
Programm umwandeln mit COMMIT(*NONE)
-
Ich habe jetzt mal die SET OPTION CLOSECSR = ENDMOD gesetzt und zumindest die Satzsperren sind verschwunden, jetzt blieben nur noch die Teildateien geöffnet. Alles sehr merkwürdig.
Eine Frage zur Aktivierungsgruppe, wenn ich mit Aktivierungsgruppe *NEW das Programm wandel, wird dann nicht automatisch auch beim Programmende die Aktivierungsgruppe geschlossen?
-
... nochmal: die database engine betreibt einiges an caching - und das ist auch gut so!!! Was stört dich konkret an dem Verhalten???
D*B
Zitat von ExAzubi
Ich habe jetzt mal die SET OPTION CLOSECSR = ENDMOD gesetzt und zumindest die Satzsperren sind verschwunden, jetzt blieben nur noch die Teildateien geöffnet. Alles sehr merkwürdig.
Eine Frage zur Aktivierungsgruppe, wenn ich mit Aktivierungsgruppe *NEW das Programm wandel, wird dann nicht automatisch auch beim Programmende die Aktivierungsgruppe geschlossen?
-
Eigentlich nichts, nur in diesem konkreten Beispiel ist es, das sich bei den Dateien um "Arbeitsdateien" handelt, wenn jetzt ein weiterer User das Programm aufruft, dann klappt ggf. der CLRPFM nicht da die Datei noch offen ist.
Ich werde es so machen, das ich die Objekte als Batchjob in die QTEMP kopiere dort wird dann geackert, und später kopiere ich die Dateien dann wieder zurück.
Similar Threads
-
By Souljumper in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 13-05-09, 19:50
-
By schatte in forum NEWSboard Programmierung
Antworten: 19
Letzter Beitrag: 10-01-07, 11:32
-
By Jabs in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 12-12-06, 07:59
-
By Rico in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 06-07-06, 16:25
-
By Stefan_Sk in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 12-07-05, 13:04
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks