Anmelden

View Full Version : SQL aus Job auslesen



Seiten : [1] 2

Mr-Ferret
31-03-16, 13:14
Hallo,

ich habe vor längerer Zeit einmal mitbekommen, das es wohl möglich ist die SQL Statements von einem Job auszulesen, anzuzeigen.
Meine Frage, kann mir jemand sagen wie ich das bewerkstelligen kann?
Vielen Dank!

Gruß
Manfred

Robi
31-03-16, 13:32
Meinst du das ?

Craig Rutledge's SCNSQL

Hab keinen link mehr gefunden,

Mr-Ferret
31-03-16, 13:40
Ich glaube nicht, im www. hab ich das auch nicht gefunden und auf unserer Maschine leider auch nicht.

Fuerchau
31-03-16, 14:09
Ich denke da ging es um die SQL's aus STRSQL.
Da könnte ggf. ein DMPSYSOBJ des *USRPRF's helfen.

cbe
31-03-16, 14:16
Oder meinst Du ganz banal die STRSQL-Historie?

STRSQL
F4
4=Sitzung in Quellendatei sichern

Wenn die Teildatei erstellt wurde, breche ich das mit F12 ab und gehe doch mit
1=Sitzung sichern und verlassen
raus, dann habe ich die alten SQLs fürs nächste mal.

Übrigens wenn ich STRSQL offen habe und in einer anderen Session auch STRSQL aufrufe, dann läuft diese Historie getrennt.

BenderD
31-03-16, 16:20
... wenn das ein anderer user ist:
https://groups.google.com/forum/#!msg/comp.sys.ibm.as400.misc/mGGzcGdL71I/vt1SGqiGlHoJ

wobei das nur für die STRSQL Historie gilt und der Benutzer diese nicht löscht. Um irgendwelchen Schmutzbuckeleien und Fehlern auf die Spur zu kommen, geht kein Weg an Journaling der Dateien und Audit Journal vorbei...

D*B

Fuerchau
31-03-16, 17:54
Audit hilft ggf. nicht ganz so weiter.
Journal hilft immer, aber es gibt auch Dateien die halt nicht journalisiert werden.
Per WRKREGINF kann man sich in die SQL-Aufrufe "reinhacken" und "mitschneiden".
D.h., bei jedem SQL-Aufruf (ODBC/JDBC, DRDA, STRSQL, embedded) wird die Schnittstelle bedient und der geplante SQL vor der Ausführung übergeben.
Dies kann man wenn man will aufzeichnen und auswerten.

andreaspr@aon.at
01-04-16, 07:39
Wenn du das zuletzt ausgeführte SQL eines Jobs haben willst geht das mit der UDTF GET_JOB_INFO:

select * from table(GET_JOB_INFO('971553/PROUZA/PROUZA1')) t1
Diese gibt es ab 7.2 aber auch in 7.1 mit entsprechenden PTFs.

lg Andreas

Mr-Ferret
01-04-16, 09:43
Erst mal vielen Dank für die ganzen Antworten,
ich habe gerade erfahren, das was ich meinte geht mit dem iDoctor, da kann mal wohl bei jedem Job das SQL Statement dann ansehen. Wir haben zwar den iDoctor auf dem System aber wo ich die Informationen nun finde, weiss ich noch nicht.
@Andreas,
deine Lösung währ auch super, ich bekomme jedoch "nur" soetwas wie:
V_JOB00001 V_ACT00001 V_RUN00001 V_SBS_NAME V_CPU_USED V_TEM00001
angezeigt.
Falls jemand weiß wie ich das mit dem Doctor bewerkstelligen kann dann schon mal vielen Dank!
Ansonnst muß ich das noch suchen.

Danke noch mal an alle.
Gruß und schönes Wochenende, es scheint endlich mal die Sonne! :-)

Fuerchau
01-04-16, 10:04
Soweit ich das grob nachgelesen habe gehört der iDoctor zu der Gruppe der Performancetools und muss explizit, z.B. für einen Job gestartet werden.
Die Frage ist eigentlich:
Was willst du genau?
Wenn du weißt, welche Programme embedded SQL's ausführen reicht ein simpler PRTSQLINF.
Mittels STRDBMON kannst du ebenso SQL's zur Überwachung incl. Perfomance u.v.m. auswerten.
Es gibt viele Wege...
Aber du musst schon wissen, was du genau willst, sonst stochern wir alle hier im Nebel.