[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2006
    Beiträge
    4
    Hallo Baldur, hallo Dieter,

    vielen Dank für Eure prompten Antworten. Nun zum Thema.

    Bei unseren SQL Verbindungen handelt es sich um von Endanwendern gestartete Prozesse, die Daten aus unseren I5 Datenbanken selektieren. Diese Daten transferieren die User dann in ExcelSheets, um sie dort weiter zu bearbeiten. Welche Last kommt da auf uns zu? Immer mehr. Unglücklicherweise sind wir gezwungen, diese Tür immer weiter zu öffnen. Ich will nicht ausschließen, dass zum Teil auch unkontrollierte und unlogische Aktionen gestartet werden.

    Mir geht es primär darum, diese performance-- und speicherlastigen Jobs im Vorfeld zu erkennen und evtl. zu eliminieren. Dieter hat mit dem Begriff ‚Abfangjäger’ schon den Nagel auf den Kopf getroffen.

    Ist das mit den von Euch vorgeschlagenen Möglichkeiten QQRYTIMLMT und MAXSTG (im Userprofil) hinzukriegen?

    Oder anders rum. Habe ich eine Chance diese SQLS in einer eigenen LPAR laufen zu lassen, mit Zugriff auf die DBs des Produktiuonssystem? Was kann ich I5seitig noch tun?

    Vielleicht kennt Ihr Möglichkeiten das Microsoft SQL Pcseitig durch andere Alternativen (Fremdsoftware) zu ersetzen, wobei der Anwender sicher nicht auf seine Funktionalität verzichten will..

    Ich bin für Anregungen immer dankbar.

    Gruß
    Nordlicht

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.954
    QRYTIMLMT hilft da leider gar nichts (siehe oben).
    MAXSTG hilft da auch nichts, da nur temporärer Speicher belegt wird und der User auch noch QUSER ist.
    Eine LPAR mit Durchgriff bringt da auch nichts, da der SQL ja immer auf der DB selber läuft !
    Andere Software bietet nur andere Oberflächen, aber intern bleibt SQL eben SQL.

    Das Problem der Query-Abfragen (MS-Query oder auch AS/400-Query) ist halt immer wieder die zwangsweise Unkenntnis über das aktuelle Datenbankmodell.
    Welcher User weiß schon, welche Abfrageart die günstigste ist und ausserdem will er ja nur eben mal was auswerten.

    Da kannst du nur in den sauren Apfel beißen, die Maschine beschleunigen (Hardware o.ä.) oder eben:

    - Die Datenbank kopieren in eine 2. LPAR und die Abfragen nur darauf zulassen (Nachteil: nicht aktuell)

    - gezielte Views mit Vorselect (Mandant o.ä.) in eigene Lib's und nur diese erlauben

    - tja ..... viele viele Wege

    Und zu allem Überfluss empfehle ich das Produkt PCSACC/400 um den Datenklau weitestgehend zu überwachen (verhindern geht ja eh nicht).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.416
    Hallo Nordlicht,

    man kann schon die Ressourcen begrenzen und zwar auf dem umgekehrten Weg, wie in dem Beitrag von KM im selben Forum aktuell skizziert:
    Prio für die QZDASOINIT Jobs absenken
    Storage Pool mit oberem Limit einrichten
    QZDASOINIT Jobs in diesen Pool einzwängen
    damit laufen diese Jobs noch langsamer, nehmen aber anderen weniger weg.

    Schrauben am Query Timelimit ist nicht so ganz trivial, da man das schlecht selektiv machen kann; allerdings wäre schon denkbar, dass man diesen Weg geht; wenn man hier einen Wert, von sagen wir mal 100 reinstellt, dann laufen alle elementareren Sachen, die einen Zugriffspfad haben immer noch, der von dir erwähnte Langläufer wäre mit hoher Wahrscheinlichkeit rausgeflogen - eine scharfe Grenze ist das aber nicht.

    Speicher limitieren sollte auch gehen, der Speicherverbrauch wird nicht QUSER zugeordnet, sondern dem Benutzer des Connects, auch dies hätte den eingangs erwähnten Job mit hoher Wahrscheinlichkeit gekippt. (es gibt da zwar noch Anteile, die nicht zu packen sind, Database statistics etc...). Im richtigen Leben kann aber auch dies zweischneidig sein, da oft ein großes Gruppenprofil hinter allem hängt und dann der verkehrte an dem Haken aufgehängt wird.

    Ein Abfangjäger auf Speicherzustand kritisch, der dann die QZDASOs runtersägt wäre zu überlegen.

    Partitionierung hilft hier erst mal nix, da man ja uf die Prod Datenbank geht und die Problematik Datenbank seitig aufschlägt.

    Alternative Tools können helfen, da Reporting Engines die Möglichkeiten einschränken können und dann nach festgelegtem Regelwerk SQLs generieren, die sich besser optimieren lassen; dieser Weg kann allerdings teuer werden.

    Entkoppeln kann man das nur über Replikation der Datenbank (oder Teile davon) auf einen dezidierten Datenbankserver, dann sind die Daten zwar nicht aktuell, man kann aber besser Konsistenz garantieren, da man dann Lesebetrieb von Änderungsbetrieb trennen kann.

    mfg

    Dieter Bender
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •