(*) IBM DB2 for z/OS DB2 Version 10 – Kapitel 09: „Utilities“ (09_DB2V10_utilities.pptx) (*) ist eingetragenes Warenzeichen der IBM International Business Machines Inc. Februar 2013 1 DB2 Version 10 - Utilities DB2 10 for z/OS – Im Einsatz, wo andere längst aufgeben... Februar 2013 2 DB2 Version 10 - Utilities Inhalte: (9) Utilities • Online Reorg • Online Schema • Backup / Recovery Februar 2013 DBA, Systemprogrammierer 3 DB2 Version 10 - Utilities Utility Neuerungen: Online Reorg • FORCE option – – – – Lesende Transaktionen sind zu „canceln“ (READERS) auch schreibende Transaktionen (ALL) Oder der bestehende Default ist beizubehalten (NONE) Bitte beachten: • • • • Schlägt nur zu beim letzten Drain Versuch Sperrende Transaktion muß während des Drainprozesses im DB2 aktiv werden Beide Online Reorg und Transaktion können verlieren, also Online Reorg bekommt x'00C200EA‘ und Transaktion auch 04E AUX option – – LOB Objekte werden automatisch einbezogen AUX YES ist Default, falls (LOB Columns vorausgesetzt) • • • • • ein ganzer PBG reorganisiert wird REBALANCE für einen partitionierten Tablespace spezifiziert wird ein SQL ALTER Statement die Partitiongrenzen verschoben hat DISCARD für einen partitionierten Tablespace spezifiziert ist Mehrfache Partitionsangaben möglich – – Februar 2013 PART(1, 3:4, 8:10) Auch in V9 mit PK87762 4 DB2 Version 10 - Utilities Utility Neuerungen: Online Reorg • • Inline LOB Unterstützung nach Alter LOB Column mit Inline Length Für alle Catalog und Directory Objekte – • REORPending wird berichtigt – • Alter Limitkey ! Rowformat Option: BRF oder RRF – • Ausnahme: SYSUTILX V9: PK85881 Statistik Update aus der SWITCH Phase heraus REORG TABLESPACE DSN8D10A.DSN8S10E PART 3:5 SORTDEVT SYSDA SHRLEVEL NONE COPYDDN SYSCOPY REORG TABLESPACE DSN8D10A.DSN8S10E SORTDATA STATISTICS TABLE INDEX(ALL) FREQVAL NUMCOLS 1 COUNT 10 REPORT YES UPDATE NONE Februar 2013 5 DB2 Version 10 - Utilities Utility Neuerungen: Online Reorg Reorganizing eines TS nach dem WAIT auf ein SQL Statement, das erst noch beenden sollte //STEP1 EXEC DSNUPROC,UID=’HUHRU257.REORG’,TIME=1440, // UTPROC=’’, // SYSTEM=’DSN’ //UTPRINT DD SYSOUT=* //SYSIN DD * OPTIONS PREVIEW TEMPLATE CPYTMP UNIT(SYSDA) DSN(HUHRU257.REORG.T&TI..SYSCOPY1) TEMPLATE SREC UNIT(SYSDA) DISP(NEW,CATLG,CATLG) DSN(HUHRU257.REORG.&ST..SREC) TEMPLATE SDISC UNIT(SYSDA) DISP(NEW,CATLG,CATLG) DSN(HUHRU257.REORG.&ST..SDISC) TEMPLATE SPUNCH UNIT(SYSDA) DISP(NEW,CATLG,CATLG) DSN(HUHRU257.REORG.&ST..SPUNCH) LISTDEF REORG_TBSP INCLUDE TABLESPACE DBHR5701.TPHR5701 OPTIONS OFF REORG TABLESPACE LIST REORG_TBSP DRAIN_WAIT 30 RETRY 4 RETRY_DELAY 10 STATISTICS TABLE (ALL) SAMPLE 60 INDEX (ALL FREQVAL NUMCOLS 2 COUNT 15) SHRLEVEL CHANGE MAPPINGTABLE MAP5702 LONGLOG DRAIN MAXRO DEFER DELAY 30 COPYDDN (CPYTMP) SORTDEVT SYSDA SORTNUM 8 PUNCHDDN SPUNCH DISCARDDN SDISC UNLDDN SREC Example of reorganizing a table space by using DRAIN WAIT, RETRY, and RETRY_DELAY Februar 2013 6 DB2 Version 10 - Utilities Utility Neuerungen: AUTONOMIC Statistics Der erste Schritt, Utilities autonom ablaufen zu lassen ist die Konfiguration bestimmter “stored procedures” - siehe “DB2 statistics routines”. Danach konfiguriert man das “autonomic monitoring”. DB2 ist dabei auf die “scheduled Calls” an die ADMIN_UTL_MONITOR STP angewiesen. Die Kombination von “autonomic” & “manual statistics maintenance” Ist “autonomic statistics maintenance” eingeschaltet, kann man immer noch das Utility RUNSTATS verwenden, um die Statistiken „manuell“ zu erstellen. Ist “autonomic statistics monitoring and maintenance” eingeschaltet, so nutzt DB2 die RUNSTATS Profile um die Statistiken der einzelnen Tabellen, die nicht aus der “autonomic maintenance” ausgeschlossen sind zu pflegen. Um die “autonomic & manual statics maintenance” zu kombinieren sollte man folgenden Empfehlungen folgen: (1) Vor Einschalten der “autonomic statistics maintenance” sollte man überlegen, alle(?) RUNSTATS Profile zu löschen . Man kann dann neue RUNSTATS Profile auf der Basis der neuesten Statistiken erstellen. (2) Dieser Schritt ist jedoch optional und sollte übergangen werden, wenn die existenten DB2 RUNSTATS Profile für die « autonomic maintenance » gelten sollen. Februar 2013 7 DB2 Version 10 - Utilities Utility Neuerungen: AUTONOMIC Statistics Die Kombination von “autonomic” & “manual statistics maintenance” (cntn’d) (3) Will man aber andere Statistiken verwenden, als die die für die “autonomic maintenance” vorgesehen sind, so muss man die traditionelle Methode des Aufrufs des Utility RUNSTATS einsetzen und die notwendigen Option explizit angeben. (4) Also: wenn man manuell die Sammlung der Statistiken steuern will, so setzt man RUNSTATS mit USE PROFILE in den Kontroll-Statements ein (5) Man kann die “settings” für “autonomic maintenance” jederzeit über ein RUNSTATS “control statement” mit UPDATE PROFILE Option and ändern und dafür die Optionen einsetzen, die man geändert haben will. (6) Nach dem UPDATE des Profils nutzt DB2 die neuen Parameter für seine “autonomic maintenance“ Aktivitäten. Februar 2013 8 DB2 Version 10 - Utilities Utility Neuerungen: RUNSTATS • Use Profile: – Profile können spezifiziert werden, sind gespeichert in SYSIBM.SYSTABLES_PROFILES Tabelle RUNSTATS TABLESPACE ts-name TABLE table-name USE PROFILE • Set Profile – – Setzt das Profil aus dem jetzt laufenden Runstats Oder From Existing Stats RUNSTATS TABLESPACE ts-name TABLE table-name runstats-options SET PROFILE oder RUNSTATS TABLESPACE ts-name TABLE table-name SET PROFILE FROM EXISTING STATS • Update/Delete Profile RUNSTATS TABLESPACE ts-name TABLE table-name runstats-options UPDATE/DELETE PROFILE Februar 2013 9 DB2 Version 10 - Utilities Online Schema Evolution • • SQL Alter auf Tablespace Attribute wie DSSIZE Dies ist ein „Pending Alter“ im Gegensatz zu einem „Immediate Alter“ – Wird im DB2 Catalog zwischengespeichert: • – – – • Neue Catalog Tabelle SYSIBM.SYSPENDINGDDL (mit Orginal ALTER Statement) und SYSIBM.SYSPENDINGOBJECTS Angezeigt wird ein „Pending Alter“ durch den Status AREOR auf den Objekten (AREO* ist für „Immediate Alter“), SQLcode +610 „Immediate Alter“ und dann „Pending Alter“ ist erlaubt „Pending Alter“ und dann „Immediate Alter“ ist nicht erlaubt, z.B. SQLcode -20385, Reason 2 Online Reorg (Change+Reference) materialisiert diese Alters – Bedingungen: • • • Alle Partitionen müssen erreicht werden Fastswitch YES muss gesetzt sein Bitte beachten: Statistik Update – Default ist “Table All”, “Index All”, “Update All”, “History All” Februar 2013 10 DB2 Version 10 - Utilities Online Schema Evolution Simple or segmented Tablespace with 1 Table Alter Tablespace Alter Tablespace Maxpartitions Dssize Member Cluster UTS - PBG Bufferpool UTS - PBR Alter Table Index on UTS Add / Alter / Drop Organization (Hash) Alter Index/Tablespace Segsize LOB Alter Tablespace Segsize Classic partitioned Tablespace Februar 2013 11 DB2 Version 10 - Utilities Utility Neuerungen: Flashcopy • FlashCopy für Image Copies (auch Inline) auf Dataset Level – Alle Utilities werden unterstützt • – Unload mittels Umweg über CopyToCopy Template bei zPARM oder in den Utilities • Da VSAM Dataset, sind keine Parameter nötig außer Name – Keine inkrementelle Kopie möglich – Consistent Parameter um eine konsistente Kopie zu bekommen anstelle einer „Fuzzy“ Kopie Februar 2013 12 DB2 Version 10 - Utilities Utility Neuerungen: Flashcopy Die folgenden Utilities in DB2 for z/OS können “FlashCopy” nutzen, um “image copies” zu erstellen: • • • • • COPY LOAD REBUILD INDEX REORG INDEX REORG TABLESPACE Die folgenden Utilities akzeptieren die VSAM “data sets”, die von FlashCopy produziert wurden als Input: • • • • • COPYTOCOPY DSN1COMP DSN1COPY DSN1PRNT REOVER Alternativ kann DB2 ein oder mehrere ICs als Teil der REORG TABLESPACE Ausführung nutzen(Anweisung&Resultat): REORG TABLESPACE DB1.TS1 (DSNZPARM FLASHCOPY_REORG_TS = NO) REORG TABLESPACE DB1.TS1 (DSNZPARM FLASHCOPY_REORG_TS = YES) REORG TABLESPACE DB1.TS1 COPYDDN(SYSCOPY) (DSNZPARM FLASHCOPY_REORG_TS = NO) & NO SYSCOPY DD in JCL REORG TABLESPACE DB1.TS1 COPYDDN(SYSCOPY) (DSNZPARM FLASHCOPY_REORG_TS = NO) & SYSCOPY DD in JCL REORG TABLESPACE DB1.TS1 COPYDDN(SYSCOPY) FLASHCOPY YES (DSNZPARM FLASHCOPY_REORG_TS = NO) & SYSCOPY DD in JCL Februar 2013 -- Kein IC -- FlashCopy IC -- Utility beendet mit RC 8). -- Sequential IC -- Sequential IC & FlashCopy IC 13 DB2 Version 10 - Utilities Utility Neuerungen: Point In Time Recovery • BACKOUT Option im Gegensatz zu Recovery mit Image Copy und den Logsätzen • VERIFYSET Option • ENFORCE Option RECOVER BACKOUT YES: Base situation Februar 2013 14 DB2 Version 10 - Utilities DB2 10 for z/OS – Im Einsatz, wo andere längst aufgeben... Februar 2013 15