SP DSNUTILS
- Dieses Thema hat 10 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 17 Jahre, 6 Monaten von
Anonym.
-
AuthorPosts
-
26. Januar 2006 um 10:16 Uhr #2651
AnonymInaktivHallo Leutle …
auch wir wollen mal mit SPs anfangen … und haben uns für den Anfang die mitgelieferte SP DSNUTILS ausgesucht.
Das Programm war ja schnell geschrieben, die Systies haben auch den Adressraum zum Leben erweckt. Jetzt gehts aber nicht mehr weiter 🙁
Der Aufruf liefert den RC 8 mit SQL-Code +466 (interessant RC8 (also nicht ok) mit SQL-Code 466 (The SQL statement is successful)…).
Im WLM kommt die Meldung DSNU003I DSNUTILS – NOT INVOKED APF AUTHORIZED.nachgelesen …
System Programmer Response: Make sure that the DSNUTILS entry in
SYSIBM.SYSPROCEDURES specifies that the stored procedure runs in a
WLM-established address space (WLM_ENV not blank), make sure that the
DSNUTILS load module is link edited with AC(1), make sure the DSNUTILS
load module is in an APF authorized library, and make sure all the
libraries in STEPLIB JOBLIB are APF authorized…nachgeschaut …
ich habe keinen Eintrag in der SYSIBM.SYSPROC (nur SYSROUT, da ist das Feld WLM_ENV korrekt gefüllt).
* Wie bekomme ich den entsprechenden Eintrag hin? CREATE PROCEDURE (aber die ist doch da…)??
* wenns eine mitgelieferte SP ist, warum ist der nicht drin?
* wie interpretiere ich die Fehlermeldung?
DSNT404I SQLCODE = 466, WARNING: PROCEDURE DSNUTILS RETURNED 00000001 QUERY RESULT SETS
DSNT418I SQLSTATE = 0100C SQLSTATE RETURN CODE
DSNT415I SQLERRP = DSNXEBR SQL PROCEDURE DETECTING ERROR
DSNT416I SQLERRD = -141 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD = X’FFFFFF73′ X’00000000′ X’00000000′ X’FFFFFFFF‘ X’00000000′ X’00000000′ SQL DIAGNOSTIC
INFORMATION
DSNT417I SQLWARN0-5 = W,,,,, SQL WARNINGS
DSNT417I SQLWARN6-A = ,,,Z, SQL WARNINGSFragen über Fragen …
Danke für die AntwortenAlexander
26. Januar 2006 um 10:56 Uhr #3066
AnonymInaktivwer lesen kann, …
alltough this version of DB2 … does not use SYSPROCEDURES ….
die (IBM) könnten mal die Fehlermeldung updaten >:(
woran kanns noch liegen? Lt. Systies sind alle Libs authorisiert ???
Alexander
26. Januar 2006 um 11:07 Uhr #3361
AnonymInaktivHallo Alex,
manche Sysadm’s sind Faulies ::) und führen nur die Hälfte der Install/Update/Migrate Jobs durch.
Schau mal auf Eure db2-wie-auch-immer.SDSNSAMP und dort in den Job DSNTIJSG – der enthält alles (und noch mehr), was Dein Herz begehrt.
Die Bibliothek, die das Load Module enthält, muß APF Authorized sein. Die APF-Autorisierung muß ein z/OS oder DB2 Sysadmin in der SYS1.PARMLIB eintragen und aktivieren.
Diese Bibliothek muß dann in der STEPLIB der SPAS (nur noch V7) oder der WLM Started Task (siehe SYS1.PROCLIB) stehen. Alle anderen Bibliotheken müssen auch APF authorized sein, sonst ist die Autorisierung für alle unwirksam und spezielle, erforderliche z/OS Dienste (SVC’s) können nicht in Anspruch genommen werden.
Da es unterschiedliche Anforderungen gibt, z.B. aus betriebswirtschaftlichen Anwendungen und aus der DB2 Administration, sollten mehrere WLM’s (mit unterschiedlichen NUMTCB’s, APF/non-APF) in Erwägung gezogen werden, damit wichtige SP’s nicht mit anderen (z.B. DB2 Utility SP’s) konkurrieren müssen.
Ciao
Gernot
26. Januar 2006 um 11:26 Uhr #3545
AnonymInaktivHi Gernot,
wie immer schnell und präzise.
Und unsere Systies würde ich (leider!) nicht in die Kat "Faulies" einordnen. Dann würde es ja nach einem wiauchimmer gearteten Schubser funktionieren 😉
Ich werde mal wühlen und dann mit meinem Wissen angeben.
Thx!
Alexander
27. Januar 2006 um 10:09 Uhr #3673
AnonymInaktivMoinmoin,
etwas weiter sind wir, die Fehlermeldungen ändern sich 😉 (vermute, dass da in den Einstellungen noch geschraubt werden muss)
Ich kann jetzt am Output nur nicht erkennen, ob das Programm die SPs (a)synchron aufruft. Ich gehe davon aus, dass das Programm aber erst weiterläuft, wenn es von der SP eine "ich bin fertig"-Meldung bekommen hat, oder?!?
Nochmal die Frage, ob es für die Returncodes der DSNUTILS eine eigene Fehlerliste gibt…
im Internet findet man (zumindest ich) nicht so viel über den Einsatz von DSNUTILS; befreundete DBAs in anderen Unternehmen setzen die auch nicht ein. Gibts da einen Grund für ?
Habt Ihr Erfahrungsberichte?
Danke
Alexander27. Januar 2006 um 15:41 Uhr #3766
AnonymInaktivwieder etwas weiter …
die APF-Fehlermeldung ist raus *schwitz* Ursache war eine nicht authorisierte Lib in der Steplib des WLM (die mit mir aber auch so was von gar nichts zu tun hatte :()Jetzt kommt der nächste RETCODE beim Aufruf der DSNUTILS: RETCODE:[glb]00319488 [/glb] SQLCODE: 000000466
SQLCODE = 466, WARNING: PROCEDURE DSNUTILS RETURNED 00000001 QUERY RESULT SETS
SQLSTATE = 0100C SQLSTATE RETURN CODE
SQLERRP = DSNXEBR SQL PROCEDURE DETECTING ERROR
SQLERRD = -141 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION
SQLERRD = X’FFFFFF73′ X’00000000′ X’00000000′ X’FFFFFFFF‘ X’00000000′ X‘
INFORMATION
SQLWARN0-5 = W,,,,, SQL WARNINGS
SQLWARN6-A = ,,,Z, SQL WARNINGSin der Literatur steht zu SQLCode +466 normally … was ist jetzt die Erklärung zu diesem wahnsinnigen RETCODE?
Schönes Wochenende
Alexander
31. Januar 2006 um 12:01 Uhr #3824
AnonymInaktivHallo Alex,
hab schon öfter die DSNUTILS aus PL/I-Programmen aufgerufen, eigentlich klappt das ganz gut. Wenn man deinen Retcode 00319488 mal in hex umrechnet kommt ein 0004E000 dabei raus (auch nicht beschrieben).
Wie sieht denn der Sysprint aus, der über den offenen Cursor kommt? Gibt es da Hinweise? Ist deine Retcode-Hostvariable richtig deklariert (Vollwort)?
Was die Fehlerliste angeht: Durch die DSNTUILS wird das Programm DSNUTILB, also der Utility-Treiber, aufgerufen. Als Retcodes lasse ich nur 0 und 4 zu, ansonsten Abbruch. SQL-Codes lasse ich nur 0 und +466 zu.Übrigends: Ab V8 gibt es eine DSNUTILU, die kann Unicode-Parameter und hat nicht die ganzen DD-Namen, ist also wesentlich handlicher!
MfG Rolf
31. Januar 2006 um 12:03 Uhr #3862
AnonymInaktivAchja, natürlich auch mal in den STP-Adressspace schauen, vielleicht gibts da noch weitere Hinweise (z. B. Berechtigungsprobleme)!
Rolf
1. Februar 2006 um 10:26 Uhr #3891
AnonymInaktivRolfD wrote: Wenn man deinen Retcode 00319488 mal in hex umrechnet kommt ein 0004E000 dabei raus
Könnte aber ein Hinweis auf einen SystemAbend 04E sein ?
13. Februar 2006 um 12:14 Uhr #3913
AnonymInaktivHallo Leute,
die Lösung war natürlich denkbar einfach … aus einem Beispielprogramm einer mir nicht wirklich geläufigen Programmiersprache habe ich die Definition der Übergabevariablen übernommen (u.a. UID CHAR(17)).
Letzte Woche bekam ich dann den Tip mit "Blanks in UID" .. Änderung auf VARCHAR und korrektes Füllen und schon läufts.
Ein Aufruf der DSNUTILB bringt dann übrigens einen REASON=X’00E40018′. Der Bezug war also durchaus da …
Danke Euch für die Hilfe
Alexander
17. März 2006 um 15:08 Uhr #3924
AnonymInaktivHallo Leute,
ich hatte jetzt mal wieder die Zeit, mein Programm weiterzuentwickeln. Läuft auch ganz prime, bis man auf die Fehlerfälle eingehen will 🙁
Ich habe nun das Problem, dass das Programm die DSNUTILS nach einem Fehler/einer Warning zwar wieder aufrufen kann; allerdings bekomme ich immer wieder dieselben Fehlermeldungen.
Ich initialisiere jedesmal den Übergabebereich; allerdings macht die SP nix mehr (ausser den ursprünglichen SQL- und RETCODE wieder zu setzen); auch bleiben die SYSPRINT-Inhalte die gleichen…Auf den IBM-Seiten habe ich folgende Aussage gefunden:
"Optional: Wählen Sie für die Onlineausführung die Option Bei Auftreten eines Fehlers mit Onlineausführung oder Stapeljob fortfahren aus, wenn ein beliebiger über die Steuerzentrale gestarteter paralleler Thread die Ausführung eines Dienstprogramms für ein unverarbeitetes Objekt starten soll. Dies ist der Fall, wenn die Ausführung eines Dienstprogramms in einem beliebigen gleichzeitig ablaufenden Thread oder im gleichen Thread zu einem Fehler geführt hat (ein DSNUTILS-Rückgabecode mit dem Wert 8). Ist diese Option nicht ausgewählt, werden keine weiteren Aufrufe für DSNUTILS ausgeführt, sobald in einem der Threads ein Fehler auftritt."Das beschreibt eigentlich genau mein Problem; hilft mir aber nicht weiter… Wie heisst denn diese Option für einen Batch-Aufruf?
Danke Euch und schönes Wochenende
Alexander
-
AuthorPosts
You must be logged in to reply to this topic.