ibm db2 for z/os - s.k. consulting · 2019. 7. 22. · • beide online reorg und transaktion...
TRANSCRIPT
1 Februar 2013
DB2 Version 10 – Kapitel 09: „Utilities“
(09_DB2V10_utilities.pptx)
IBMIBM DB2 for z/OSDB2 for z/OS
(*)
(*) ist eingetragenes Warenzeichen der IBM International Business Machines Inc.
2 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
DB2 10 for z/OS –
Im Einsatz, wo andere längst aufgeben...
3 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
Inhalte:
(9) Utilities DBA, Systemprogrammierer
• Online Reorg
• Online Schema
• Backup / Recovery
4 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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
– PART(1, 3:4, 8:10)
– Auch in V9 mit PK87762
5 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
Utility Neuerungen: Online Reorg
• Inline LOB Unterstützung nach Alter LOB Column mit Inline Length
• Für alle Catalog und Directory Objekte
– Ausnahme: SYSUTILX
• REORPending wird berichtigt
– Alter Limitkey !
• Rowformat Option: BRF oder RRF
– 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
6 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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
7 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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.
8 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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.
9 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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
10 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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”
11 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
Online Schema Evolution
UTS - PBG
UTS - PBR
LOB
Simple or segmented
Tablespace with 1 Table
Classic partitioned Tablespace
Index on UTS
Dssize
Member Cluster
Segsize
Bufferpool
Alter Tablespace
Alter Table
Add / Alter / Drop
Organization (Hash)
Alter Tablespace Segsize
Alter Tablespace
Maxpartitions
Alt
er I
nd
ex/T
ab
lesp
ace
12 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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
13 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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) -- Kein IC
REORG TABLESPACE DB1.TS1 (DSNZPARM FLASHCOPY_REORG_TS = YES) -- FlashCopy IC
REORG TABLESPACE DB1.TS1 COPYDDN(SYSCOPY)
(DSNZPARM FLASHCOPY_REORG_TS = NO) & NO SYSCOPY DD in JCL -- Utility beendet mit RC 8).
REORG TABLESPACE DB1.TS1 COPYDDN(SYSCOPY)
(DSNZPARM FLASHCOPY_REORG_TS = NO) & SYSCOPY DD in JCL -- Sequential IC
REORG TABLESPACE DB1.TS1 COPYDDN(SYSCOPY) FLASHCOPY YES
(DSNZPARM FLASHCOPY_REORG_TS = NO) & SYSCOPY DD in JCL -- Sequential IC & FlashCopy IC
14 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
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
15 Februar 2013
DB2 Version DB2 Version 10 10 -- UtilitiesUtilities
DB2 10 for z/OS –
Im Einsatz, wo andere längst aufgeben...