[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Hybrid View

  1. #1
    Registriert seit
    Nov 2009
    Beiträge
    208

    strsql überwachen

    Guten Tag,
    gibt es eine Möglichkeit die einzelnden Befehle im STRSQL (5250) zu überwachen?

    Ich habe ein Exit Programm für
    QIBM_QZDA_SQL1
    QIBM_QZDA_SQL2
    erfasst und stelle nun fest, das das Pgm nicht aufgerufen wird.

    Hintergrund:
    Viele User dürfen SQL verwenden, i.d. R SELECT ...
    Einige machen auch mal ein UPDATE oder DELETE

    Der User Exit soll das Stmt untersuchen ob eine Lib drin ist bzw. die Liblist des Jobs ermitteln und bei update oder delete auf die ECHT Libs das Statement melden.
    Erst nach einer Freigabe durch einen 2. User (in unserer DB) darf das Stmt ausgeführt werden.
    Bisher gilt das als Regel die 'vereinbart' ist, soll aber technisch unterstützt werden.

    UPDATE oder DELETE in den Programmen sollen nicht betroffen sein.

    Vielen Dank
    Dietlinde Beck

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ganz so einfach kannst du dir das nicht machen, da bei SQL die LIBL ggf. nicht relevant ist.
    Du kannst das Default-Schema in der Verbindung angeben oder per Set-Anweisung verändern und per QCMDEXC-Call sogar einen OVRDBF hinlegen, der den SQL woanders hin verweist. Das taucht in der LIBL nicht auf.
    QDB_OPEN wäre da u.U. die bessere Alternative.

    Um wirklich eine vollständige Kontrolle zu haben empfehle ich immer ein Komplettprodukt einzusetzen, dass alle Registry-Infos überwacht.

    STRSQL arbeitet (glaube ich eher) mit CLI-API's.
    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
    Aug 2003
    Beiträge
    1.508
    Wie Baldur schon schrieb ist der QDB_OPEN die richtige Wahl dafür.
    Dieser greift, egal ob STRSQL, Embedded SQL, JDBC etc.

    Hier kannst du lediglich DELETE, INSERT, SELECT und UPDATE prüfen.
    Auch die Tabelle + Bibliothek wird dir hier geliefert.
    Wenn es sich z.B. um einen JOIN handelt, wo auf mehrere Tabellen zugegriffen wird, bekommst du eine Liste aller Tabellen + Bibltiothek im Aufruf des Exit-PGM.

    Du kannst hier jedoch nicht verhindern, dass ein CREATE TABLE abgesetzt wird.

    lg Andreas

  4. #4
    Registriert seit
    Nov 2009
    Beiträge
    208
    Danke für die Antworten,
    da werde ich mich mal mit dem QDB_open beschäftigen.

    @Baldur
    Es geht nicht darum bösartigkeiten zu verhindern.
    Es geht um versehentliche falsche Aktionen, die für die Testumgebung gedacht, aufgrund der Liblist aber versehentlich in der Echtumgebung laufen.

    OVR oder Schema ... haben wir hier nicht (-lach-)

    Danke

    Ich habe hier in der qsysinc/qrpglesrc ein EDBOPNDB Eintrag. Ist das der *entry parm?

  5. #5
    Registriert seit
    Nov 2009
    Beiträge
    208
    Habe das soeben mal ausprobiert,
    Aufgerufen wird das ExitPgm nun beim select aus strsql.
    Die Parameter verstehe ich nicht, oder die sind falsch.
    Ich habe nur
    PHP-Code:
     DEDBDBFAE00       DS                                                       
     D
    *                                             QDBE Opn DB File Array Entry
     D EDBDBEFN02              1     10                                         
     D
    *                                             QDBE File Name              
     D EDBDBELN01             11     20                                         
     D
    *                                             QDBE Library Name           
     D EDBDBEMN01             21     30                                         
     D
    *                                             QDBE Member Name            
     D EDBQDBER01             31     32                                         
     D
    *                                             QDBE Reserved               
     D EDBEDBFT01             33     36I 0                                      
     D
    *                                             QDBE DB File Type           
     D EDBDBEUP01             37     40I 0                                      
     D
    *                                             QDBE Underlying Physical    
     D EDBBEOIO01             41     41                                         
     D
    *                                             QDBE Open Input Opt         
     D EDBBEOOO01             42     42                                         
     D
    *                                             QDBE Open Output Opt        
     D EDBBEOUO01             43     43 
    PHP-Code:
    EVAL EDBDBFAE00                          
    EDBDBEFN02 OF EDBDBFAE00 
    '        DB'  
    EDBDBELN01 OF EDBDBFAE00 'OP0100    '  
    EDBDBEMN01 OF EDBDBFAE00 '        DS'  
    EDBQDBER01 OF EDBDBFAE00 'P_'          
    EDBEDBFT01 OF EDBDBFAE00 = -640552384    
    EDBDBEUP01 OF EDBDBFAE00 
    1077991639    
    EDBBEOIO01 OF EDBDBFAE00 
    'C'           
    EDBBEOOO01 OF EDBDBFAE00 'K'           
    EDBBEOUO01 OF EDBDBFAE00 '7'           
    EDBBEODO01 OF EDBDBFAE00 '4' 

    ich habe hier ein BSP gefunden.

    Aber wenn das 'alles' ist, kann ich damit nix anfangen!

    das Sql Stmt fehlt!
    Die Info, das ein Update oder Delete gemacht werden soll als '1' oder '0'
    hilft gar nicht, wenn ich keine Herkunft (welches Pgm macht das) habe
    Und das über den Job zu ermitteln, bei JEDEM Dateizugriff?
    Nicht wirklich!

    Schade.
    Noch einer eine Idee?
    Danke
    DiBe

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die Begründung für so eine Aufgabe finde ich da schon seltsam.
    Das bestätigt da schon, dass Programmierer bereits in der Biebel erwähnt wurden: "...denn sie wissen nicht was sie tun.";-).
    Ich würde da schon eher im Ansatz sicherstellen dass die Umgebung stimmt.

    Was die Parameter angeht, so sind diese u.U. vom falschen Release. Online gibts da bestimmt neuere Definitionen.

    Ansonsten frag ich mal jemanden, der sich explizit auskennt.

    Und was die API's angeht:
    https://www.ibm.com/support/knowledg...ajrmstexdb.htm

    da finde ich auch keine Programminformation.
    Du kannst ja auch mal das NDB-API probieren.

    Ebenso einfach ist das Auslesen der Stackinformation. Das habe ich auch schon mal im Trigger gemacht da der tatsächliche Auslöser (eben nicht QDBPUT) gesucht wurde.
    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

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von dibe Beitrag anzeigen
    ich habe hier ein BSP gefunden.

    Noch einer eine Idee?
    Danke
    DiBe
    ... einfach das Programm abpinseln, das sieht so aus, dass es funktionieren sollte!!!

    D*B,
    der sich fragt, wofür es Objekt Security gibt.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    2.644
    Zitat Zitat von BenderD Beitrag anzeigen
    der sich fragt, wofür es Objekt Security gibt.
    Klar:
    weils schee is
    www.RZKH.de
    IBM Champion 2022, 2023, 2024
    IBM i Community Advocate https://www.youracclaim.com/badges/6...c-7ad4ba147af6
    Common / CEAC
    http://pub400.com

  9. #9
    Registriert seit
    Nov 2009
    Beiträge
    208
    ist das bei Euch anders?

    Die Entwickler arbeiten in der Testumgebung, biegen sich Datein so hin, um die neuen Funktionen zu testen, mal mehr mal weniger.
    Hektischer Tag, anruf aus der Fachabteilung, irgendwas geht nicht.
    Wechsel in die Produktionsumgebung, ausprobieren, ok, alles i.o. Anwender hatte 'irgendwas' vergessen/nicht beachtet. TelKo, zum nächsten übernächsten oder vergangenen Projekt.
    Dazu noch schnell etwas nachsehen, irgend eine Auswertung auf Echtdaten.
    Aus Gewohnheit die Echtdaten mit Bibliothek abgefragt. (Liblist zeigt noch auf Echt Daten)
    Dann endlich Ruhe,
    update Datei set Feld = Wert where ...
    xxx Sätze aus Datei in LIB ECHT geändert. MIST

    Passiert 1 mal im Jahr, ist aber (fast) immer sehr ärgerlich.
    Wie erzwingt Ihr die Disziplin?

    Dietlinde Beck

  10. #10
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Genau, du bekommst nur die Infos:
    * Job
    * Libs und Tabellen
    * Action (insert, delete, update, select)
    Die restlichen Infos muss man sich separat ermitteln.

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die Disziplin bedeutet, dass es für Echt und Test tatsächlich getrennte Umgebungen gibt, die ein Ummelden erzwingen (Testuser, Echtuser).
    Über die erwähnte Objektsicherheit komme ich eben nur an die Testdaten als Testuser und umgekehrt.
    Dies mag zwar lästig sein, aber sicher und einfach ist es doch mal eben eine weitere Sitzung aufzumachen (im Zweifel geht immernoch Systemanfrage 1) und sich in die richtige Umgebung zu setzen.
    Und Firmen, die nicht unbedingt mit dem Geld geizen müssen richten zusätzlich noch eine LPAR als Testumgebung ein. Außer Platten kostet das nichts.
    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

  12. #12
    Registriert seit
    Aug 2006
    Beiträge
    2.074
    Zitat Zitat von dibe Beitrag anzeigen
    ist das bei Euch anders?


    Wie erzwingt Ihr die Disziplin?
    Was helfen kann ist die Bildschirmfarbe zu ändern.
    Sprich Entwicklung im entspannten grün und das Echtsystem in rot.

Similar Threads

  1. STRSQL
    By KingofKning in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-15, 01:32
  2. Artikel: Systemweites Überwachen der Performance in Echtzeit mit IBM PowerVP
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 10-05-15, 00:51
  3. IFS PHP Datei überwachen
    By DISCOME in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 25-02-14, 15:55
  4. Objekte Überwachen
    By homerun in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 25-04-03, 11:37
  5. STRSQL
    By Günther in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 20-03-03, 14:51

Berechtigungen

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