2017-05-15 7 views
0

Ich arbeite in DB2 ZOS Version 10, ich habe unter Datenmaskierungsprojekt gearbeitet. Für dieses Projekt habe ich über 100k DDL-Anweisungen ausgeführt (löschen, aktualisieren, einfügen).DB2 ZOS Mainframe-Archive Logs Deaktivieren

Also muss ich die Transaktionsprotokolle deaktivieren, bevor der gesamte SCRAMBLE PROCESS startet.

In DB2 iSeries AS400 habe ich das gleiche Problem bereits behoben, indem ich die Prozedur aufgerufen habe, die das Deaktivieren des TRANSACTION LOG DISABLE unterstützt.

Wie weise, ich muss in DB2 ZOS tun.

+0

Vielleicht pedantisch, aber löschen/aktualisieren/einfügen ist DML - Data Manipulation Language. DDL ist Data Definition Language, die zum Ändern der Struktur der Tabelle verwendet wird. Zu der Frage weiß ich nicht, dass Sie die Protokollierung für die von Ihnen erwähnte DML deaktivieren können. Ich bin mir ziemlich sicher, dass truncate nicht geloggt wird, und ich bin mir ziemlich sicher, dass eine Ladung ohne Protokollierung durchgeführt werden kann, aber ich kann mich nicht daran erinnern, die Protokollierung sonst abzuschalten. Sie können bis zu einem gewissen Grad ändern, wie viele der geänderten Zeilen protokolliert wurden. – randomScott

+0

@randomscott danke für das Teilen. Ich werde truncate anstatt löschen Operation. Und kennen Sie die Abfrage, um Archivprotokolldetails zu finden? –

+0

Beachten Sie, dass truncate alle Zeilen löscht, die möglicherweise nicht Ihren Vorstellungen entsprechen. Wenn es das ist, was Sie wollen, ist es wahrscheinlich schneller als löschen. In den Katalogtabellen gibt es wahrscheinlich einige Archivprotokolldetails. Es gibt Informationen über Protokollverzögerungen usw., die ebenfalls in den SMF-Daten aufgezeichnet sind. Am besten ist es jedoch, mit Ihrem freundlichen (hoffentlich) DB2-Sysprog zu sprechen, das sich um das betreffende DB2 kümmert. – randomScott

Antwort

0

Sie das NOT LOGGED Attribut für alle betroffenen Tablespaces verwenden können, gibt an, dass Änderungen, die Daten im angegebenen Tabellenbereich vorgenommen werden, werden nicht in der DB2-Protokoll aufgezeichnet

die folgenden Schritte für Ihre Daten nehmen Prozess Maskierung:

  1. ein Imagecopy Nehmen Sie so
  2. ALTER TABLE Datenbank-name.table-Raum-name
  3. Daten ausführen Prozess Maskieren
  4. LOGGED nicht wiederhergestellt werden können
  5. ALTER TABLE Datenbank-name.table-Raum-name LOGGED
  6. eine Imagecopy Nehmen Sie einen Wiederherstellungspunkt

Sie wahrscheinlich auch alle Tabellen mit exklusiven Zugang sperren wollen, werden zu etablieren, so dass, wenn Sie sich erholen niemand anderes ist von Ihren Änderungen betroffen

NB Stellen Sie sicher, dass Sie die Auswirkungen auf die Wiederherstellung für nicht protokollierte Objekte kennen !!!