PDA

View Full Version : Priorität für interaktives SQL runtersetzen ?



Schnichels
18-11-03, 09:38
Hallo,

gibt es eine Möglichkeit die Priorität für interaktiv laufende SQL's, die unter STRSQL laufen, standardmäßig herabzusetzen? Die Priorität des eigentlichen interaktiven Jobs soll bei 20 bleiben.

Für jede Antwort im Voraus vielen Dank

Jürgen Schnichels

BenderD
18-11-03, 10:40
Hallo,

Möglichkeiten gibt es immer. Man könnte zum Beispiel den STRSQL verbiegen und in einem Validity Checcker des Commands die Run Priority verbiegen.
Ich würde es allerdings für eleganter und Zielführender halten den interaktiven SQL auf die lokale Maschine ganz abzuschaffen. Statt dessen sollte man von einem remote System zugreifen und damit die Workload aus dem interaktiven rausnehmen. Da gibt es z.B.: eine feine Freeware Squirrel, die über einen JDBC Treiber auf die Datenbank geht; ist in wenigen Minuten installiert und konfiguriert, hat keinen lokalen Overhead und verdrechselt die lokale Büchse nicht (im Gegensatz zu einigen fetteren Alternativen).

Dieter Bender

bateau
18-11-03, 10:45
Moin Jürgen,

da gibts nichts einzustellen. Bleibt Dir nur die Möglichkeit, die Berechtigungen für den STRSQL Befehl zuzudrehen und stattdessen ein CL zu schreiben:

- aktuelle Jobpriorität via RTVJOBA merken
- Priorität auf den gewünschten Wert einstellen
- STRSQL ausführen
- Priorität auf den ursprünglichen Wert zurückstellen

Das CL muss dann so eingestellt werden, dass es unabhängig vom aktuellen Benutzer der es ausführt den STRSQL nutzen darf, also z.B. einen berechtigten Benutzer als Eigner eintragen und dann CHGPGM USRPRF(OWNER) auf das CL ausführen.

Griesse

Martin

Sven Schneider
18-11-03, 17:40
Eine andere Möglichkeit wäre es mit CHGQRYA und dem Parameter QRYTIMLMT die Abfragezeit für den Job zu begrenzen.

Kommt der Query (WRKQRY, RUNQRY, STRSQL, RUNSQLSTM, OPNQRYF, STRQMQRY) nicht in der dort definierten max. Zeit zum Ende, wird er mit Meldung CPA4259 beendet.

Damit dies niemand umgehen kann muß für diese MSGID CPA4259 ein Eintrag mit ADDRPYLE und Standardantwort C eingetragen werden und mit CHGJOB InqMsgRpy(*SYSRPYL) der Job temporär geändet werden.
Den Systemwert QQRYTIMLMT sollt man dann auf *NOMAX stehen lassen, damit Batchjobs keine Probleme machen.


Die ca. benötigte Zeit ermiitelt der Query-Optimizer vor der Ausführung der Abfrage!

Sven

mkasmika
20-11-03, 18:40
Hallo Sven,

in diesem Bereich möchte ich keine Werbung machen,
aber um dem Problem mit der interaktiven Leistung aus dem Weg zu gehen haben wir insbesondere für SQL das Produkt IXLSGENPC entwickelt. Das ist eine Client Server Lösung
mit der man die Funktionalität was Select's angeht auf dem
PC definiert und auf der iSeries ausführen lässt.
Dadurch laufen die iSeries Jobs im Batchbetrieb und das
Ergebnis wird wiederum am PC dargestellt.
Übrigns ist es eine IBM Visual Age for RPG Applikation.
Wenn Du Interesse hast dann schau mal
auf www.asmika.de vorbei.
Eine Testinstallation kostet nichts.

Gruss Michael;)

mkasmika
20-11-03, 18:42
sorry
ich meinte Jürgen