[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2003
    Beiträge
    35
    Danke Brigitta,

    ja das dachte ich auch, selbst das verlagern in verschieden HSP Pools hat da nicht wirklich geholfen.

    erstmals Danke für deine schnelle Antwort..

    Das würde für mich bedeuten ca. 3000 logische Files automatisiert zu löschen und dann wieder automatisch aufzubauen.

    Diese Hiobsbotschaft muss ich erst noch verdauen

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.931
    Zitat Zitat von fabax Beitrag anzeigen
    Das würde für mich bedeuten ca. 3000 logische Files automatisiert zu löschen und dann wieder automatisch aufzubauen.
    Das dürfte mit DSPDBR (Display Database Relations) und Ausgabe in eine Datei oder besser mit API QDBLDBR (List Database Relations) kein Problem sein.

    Vielleicht könnte man in diesem Zug gleich nicht benötigte logische Dateien entsorgen. Ich weiß jetzt nicht von wievielen physischen Dateien Du redest, aber 3.000 logische sind schon heftig.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Mar 2003
    Beiträge
    35
    Hallo Brigitta,

    Es handelt sich hier um eine RPG MOVEX Version insgesamt sind das 610 betroffene PF's mit durchschnittlich 4-8 LF's. Wobei die meisten Dateien mit Records < 1 Mio keine Rolle spielen, da würde ich alles beim Alten lassen. Hier ein Auszug aus meinem IFS Logfile.

    1. 10:32:04 ...> info : Copy 413419 Records to file ODHEAD.UACONO
    2. 10:38:27 ...> SQL: update MVXCDTACPY/ODHEAD set UACONO = 200 where UACONO = 100
      10:38:27 . : 10373329 von 384043936 in 6842 Sekunden kopiert=1516records /sec
      10:38:27 . : voraussichtliches Ende 2010-11-20-02.13.27.161000 10:38:27 ===> File : OINVOH 364 of 834 remaining
      10:38:27 ...> CHGPF FILE(MVXCDTACPY/OINVOH) SIZE(2480000 30000 10)
      10:38:27 ...> CPYF FROMFILE(MVXCDTACPY/OINVOH) TOFILE(MVXCDTACPY/OINVOH) MBROPT(*REPLACE) CRTFILE(*YES)
      10:38:27 ...> info : Copy 414113 Records to file OINVOH.UHCONO
      10:43:15 ...> SQL: update MVXCDTACPY/OINVOH set UHCONO = 200 where UHCONO = 100
      10:43:16 . : 10787442 von 384043936 in 7131 Sekunden kopiert=1512records /sec
      10:43:16 . : voraussichtliches Ende 2010-11-20-01.40.16.028000
    3. 10:43:16 ===> File : OOHEAD 363 of 834 remaining
    4. 10:43:16 ...> CHGPF FILE(MVXCDTACPY/OOHEAD) SIZE(1480000 30000 10)
    5. 10:43:16 ...> CPYF FROMFILE(MVXCDTACPY/OOHEAD) TOFILE(MVXCDTACPY/OOHEAD) MBROPT(*REPLACE) CRTFILE(*YES)
      10:43:16 ...> info : Copy 429752 Records to file OOHEAD.OACONO


    Probleme bereiten die Buchhaltungsdateien, das sind Dinos mit 50 - 30 - 20 Mio's. Für diese werde ich mir was einfallen lassen müssen. Probleme bereiten mir noch dynamisch erzeugte LF's da hab ich die (Quell)Sourcen nur temporär, der tatsächliche Aufbau steht dann in x ERP Tabellen.

  4. #4
    Registriert seit
    Mar 2003
    Beiträge
    35
    Zitat Zitat von fabax Beitrag anzeigen
    Hallo Brigitta,

    Es handelt sich hier um eine RPG MOVEX Version insgesamt sind das 610 betroffene PF's mit durchschnittlich 4-8 LF's. Wobei die meisten Dateien mit Records < 1 Mio keine Rolle spielen, da würde ich alles beim Alten lassen. Hier ein Auszug aus meinem IFS Logfile.

    1. 10:32:04 ...> info : Copy 413419 Records to file ODHEAD.UACONO
    2. 10:38:27 ...> SQL: update MVXCDTACPY/ODHEAD set UACONO = 200 where UACONO = 100
      10:38:27 . : 10373329 von 384043936 in 6842 Sekunden kopiert=1516records /sec
      10:38:27 . : voraussichtliches Ende 2010-11-20-02.13.27.161000 10:38:27 ===> File : OINVOH 364 of 834 remaining
      10:38:27 ...> CHGPF FILE(MVXCDTACPY/OINVOH) SIZE(2480000 30000 10)
      10:38:27 ...> CPYF FROMFILE(MVXCDTACPY/OINVOH) TOFILE(MVXCDTACPY/OINVOH) MBROPT(*REPLACE) CRTFILE(*YES)
      10:38:27 ...> info : Copy 414113 Records to file OINVOH.UHCONO
      10:43:15 ...> SQL: update MVXCDTACPY/OINVOH set UHCONO = 200 where UHCONO = 100
      10:43:16 . : 10787442 von 384043936 in 7131 Sekunden kopiert=1512records /sec
      10:43:16 . : voraussichtliches Ende 2010-11-20-01.40.16.028000
    3. 10:43:16 ===> File : OOHEAD 363 of 834 remaining
    4. 10:43:16 ...> CHGPF FILE(MVXCDTACPY/OOHEAD) SIZE(1480000 30000 10)
    5. 10:43:16 ...> CPYF FROMFILE(MVXCDTACPY/OOHEAD) TOFILE(MVXCDTACPY/OOHEAD) MBROPT(*REPLACE) CRTFILE(*YES)
      10:43:16 ...> info : Copy 429752 Records to file OOHEAD.OACONO


    Probleme bereiten die Buchhaltungsdateien, das sind Dinos mit 50 - 30 - 20 Mio's. Für diese werde ich mir was einfallen lassen müssen. Probleme bereiten mir noch dynamisch erzeugte LF's da hab ich die (Quell)Sourcen nur temporär, der tatsächliche Aufbau steht dann in x ERP Tabellen.
    "bevor hier der Einwand kommt mit CPYF. Da Ziel und Quelle identisch sind wird diese Option nicht ausgeführt. Dann arbeitet nur der SQL-Update...für mich ist nur die Uhrzeit interessant"

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.707
    Es geht noch einfacher.
    Man kann LF's deaktivieren in dem man per CHGLF die Maintenance auf "Zugriff" stellt, dann die PF's updated und anchliessend die Mainenance wieder auf Immed.

    Desweiteren würde ich mal auf den PF's den FRCWRITE überprüfen, ggf. steht der nämlich auf 1! Das machen nämlich viele ERP's die nicht journalisieren.
    Setze den mal auf *NONE während des Updates.

    Ansonsten wird der SQL-Update mit Sicherheit die schnellste Variante sein.

    Wenn du auf dem selben System kopierst, kannst du natürlich auch folgenden Befehl stricken:

    insert into ZTable
    select 'NewMandant', F1, F2, ..., 'Newmandant', ... Fx, Fy, ...
    from QTable

    Damit sparst du dir den nachträglichen Update.
    Parallel dazu eben FRCWRITE und Maintenance der LF's abschalten.
    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

  6. #6
    Registriert seit
    Mar 2003
    Beiträge
    35
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Es geht noch einfacher.
    Man kann LF's deaktivieren in dem man per CHGLF die Maintenance auf "Zugriff" stellt, dann die PF's updated und anchliessend die Mainenance wieder auf Immed.

    Desweiteren würde ich mal auf den PF's den FRCWRITE überprüfen, ggf. steht der nämlich auf 1! Das machen nämlich viele ERP's die nicht journalisieren.
    Setze den mal auf *NONE während des Updates.

    Ansonsten wird der SQL-Update mit Sicherheit die schnellste Variante sein.

    Wenn du auf dem selben System kopierst, kannst du natürlich auch folgenden Befehl stricken:

    insert into ZTable
    select 'NewMandant', F1, F2, ..., 'Newmandant', ... Fx, Fy, ...
    from QTable

    Damit sparst du dir den nachträglichen Update.
    Parallel dazu eben FRCWRITE und Maintenance der LF's abschalten.
    "das mitt CHGLF scheint mir ein guter Weg zu sein, den Parameter kannte ich noch nicht, allerdings welches Setting meinst du mit "Zugriff"

    Zugriffspfadwartung (MAINT )
    *SAME
    *IMMED
    *REBLD
    *DLY

    grüße Franz

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.373
    vorher maint(*delay) nachher maint(*immed) (parallelisiert)
    Cache Battery macht Einträge beim IPL und check mal DSPLOG und DSPMSG QSYSOPR

    D*B

    Zitat Zitat von fabax Beitrag anzeigen
    "das mitt CHGLF scheint mir ein guter Weg zu sein, den Parameter kannte ich noch nicht, allerdings welches Setting meinst du mit "Zugriff"

    Zugriffspfadwartung (MAINT )
    *SAME
    *IMMED
    *REBLD
    *DLY

    grüße Franz
    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 2003
    Beiträge
    1.508
    Zitat Zitat von fabax Beitrag anzeigen
    Das würde für mich bedeuten ca. 3000 logische Files automatisiert zu löschen und dann wieder automatisch aufzubauen.

    Diese Hiobsbotschaft muss ich erst noch verdauen
    Hi,
    das sollte eigentlich keine große Sache sein. Mit der Systemtabelle QSYS/QADBXREF kannst du dir eine Liste aller Logischen Files des Systems, Lib oder Tabelle ausgeben lassen.

  9. #9
    Registriert seit
    Mar 2003
    Beiträge
    35
    Hallo Andreas,
    das Ermitteln ist keine grosse Sache. Das Problem beginnt dann wenn ich die LF's wieder erstellen muss, denn wo ist die Quelle ? You Know
    Franz

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL Alternative Namen
    By andreas.lundschien in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 27-09-06, 10:56
  3. SQL Performance
    By mariupol1963 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 11-08-06, 13:06
  4. Ferne SQL Analyse / Performance
    By pwrdwnsys in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 16-08-05, 08:56
  5. embedded SQL Performance Problem mit SCROLL
    By itec01 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 16-09-04, 18:38

Berechtigungen

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