-
Das sich CPYF durchaus mit Commit und Journal verträgt habe ich nicht bestritten.
Allerdings gibt es halt die Fälle, in denen man mal STRCMTCTL im Job gestartet hat und nicht wusste dass da irgendwo CPYF's laufen die mit Transaktionen nicht rechnen.
Deswegen könnte ein CPYF scheitern, wenn dieser unerwartet in eine Transaktion rennt, ins besonders dann, wenn dann das Locklimit des Jobs erreicht wird.
-
 Zitat von Fuerchau
Das sich CPYF durchaus mit Commit und Journal verträgt habe ich nicht bestritten.
Copy-Files und CLRPFM laufen NICHT unter Commitment Control, auch wenn diese gestartet ist.
Ein ROLLBACK (unabhängig davon ob mit Commitment Scope *JOB oder *ACTGRPDFN gearbeitet wird) wird die kopierten und gelöschten Datensätze nicht zurücknehmen bzw. wiederherstellen.
Im überigen ist das Kopieren von Daten in (temporäre) Dateien auch kein gutes Design.
Birgitta
-
Ob ich nun früher ein CPYF ggf. mit OPNQRYF gemacht habe oder nun einen "CREATE TABLE as Select ... with data", wo ist das der Unterschied?
Außerdem gibt es durchaus Gründe, temporär Daten zu extrahieren um damit performanter umzugehen.
Gott sei dank gibt es ja die QTEMP, so dass ich nicht mit komplexen Konstrukten in Tabellen mit "temporären Schlüsseln" umgehen muss.
Ins besonders da die QTEMP automatisch aufgeräumt wird. Von schlechtem Design würde ich da nicht sprechen, eher von "erkannten Möglichkeiten".
Und was sind denn dann "Global tamporary tables"? Die liegen doch ebenso letztlich in der QTEMP.
-
@Banausen und ACTGRP:
Gutes Design orientiert sich nicht an den Altlasten, sondern an künftigen Anforderungen. Commit funktioniert dann "sauber", wenn Schreiboperationen, die zu einer Transaktion gehören, als gesamtes geklammert werden und komplett ausgeführt oder verworfen werden. Das erfordert zuweilen, dass mehrere Transaktionen einander überlappen können und voneinander unabhängig sind.
Dazu hat man bei Commit Steuerung Commit Master, die für die Steuerung verantwortlich sind und Slaves. Commit und Rollback sagt immer nur der Master, die slaves laufen in ACTGRP *CALLER. Will man mehrere ACTGRPs zu einer (übergeordneten) Transaktion koppeln, macht man das wie bei mehreren Connections zu verschiedenen Datenbanken, dann wird überall commited oder zurück gesetzt.
Startet man commit mit ACTGRP *JOB, macht man die Commit Steuerung von eingebundenen (Fremd) Anwendungen kaputt, das ist ein ernsthafter Kunstfehler!
D*B
-
CLRPFM kann man tatsächlich keinen Rollback machen da die einzelnen Zeilen nicht journalisiert werden, bei CPYF werden wieder einzelne Zeilen "inserted" so dass ein Rollback möglich sein sollte.
Aber das kann man ja ausprobieren;-).
Es gibt übrigens eine SQL-Optimierung bzgl. "delete from mytable":
Wenn keine Journalisierung und kein Trigger, dann wird ein CLRPFM versucht.
Da dieser exclusive Lock benötigt, wird im Fehlerfall wieder ein Einzelsatz-Delete durchgeführt.
Dies kann daher schon mal zu unterschiedlichen Performanceeffekten führen.
Similar Threads
-
By rr2001 in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 10-04-19, 10:41
-
By ILEMax in forum IBM i Hauptforum
Antworten: 17
Letzter Beitrag: 03-03-16, 16:09
-
By msost in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 25-07-14, 14:54
-
By Gimli in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 10-03-03, 12:08
-
By Peter Kosel in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 18-10-01, 12:49
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks