DB2 Version 10 for z/OS

Werbung
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

I
Inhaltsverzeichnis
DB2-Theorie und Praxis - Band 1 Themenbereiche
1
1  Relationales Modell
3
Grafischer Wegweiser durch den Band 1
Einstiegs-Grafik in die Thematik für Band 1
1
2
1.1  Grafischer Wegweiser durch das Kapitel 1 - Relationales Modell
1.2  Allgemeine Entwicklungsgeschichte
1.2.1  Entwicklung innerhalb IBM
1.2.2  Entwicklung außerhalb IBM
1.2.3 Produkt-Kompatibilität
3
4
4
4
5
Kompatibilität zwischen den IBM-DB2-Produkten
Kompatibilität zwischen Fremdhersteller-Produkten und DB2-Produkten
5
5
1.2.4  Entwicklungsgeschichte von DB2 für MVS, OS/390 und z/OS
6
Grober Überblick der DB2-Versions- und Release-Entwicklungen
Die wesentlichen Komponenten der Release-Entwicklungen
6
7
Version 2 - Release 1
Version 2 - Release 2
Version 2 - Release 3
Version 3
Version 4
Version 5 - DB2 for OS/390
Version 6 - DB2 Universal Database (UDB) for OS/390
7
7
8
9
10
11
12
Version 6 nach GA - nach der generellen Verfügbarkeit von V6
14
Version 7 - DB2 Universal Database (UDB) for OS/390 and z/OS
15
Version 7 nach GA - nach der generellen Verfügbarkeit
17
Version 8 - DB2 Universal Database (UDB) for z/OS
18
Version 8 nach GA - nach der generellen Verfügbarkeit
22
Version 9 - DB2 Version 9.1 for z/OS
23
Version 9 nach GA - nach der generellen Verfügbarkeit
28
Version 10 - DB2 10 for z/OS
29
Version 10 nach GA - nach der generellen Verfügbarkeit
38
Version 11 - DB2 10 for z/OS
39
1.3  Terminologie
1.3.1  Informationsablage in Tabellenform
44
44
Tabelle (Table, Relation)
44
Spalte/Column (Attribut)
44
Zeile/Row (Tupel) 45
Datenwert/Value45
Primary-Key (PK)
46
Foreign-Key (FK) und referenzielle Integrität (RI)
46
Abbildung der Primary- und Foreign-Key-Beziehungen (Beispiel-Tabellen des Buches und ihre logischen Beziehungen)
Informationelle referenzielle Integrität (Informational RI)
47
48
Index49
Daten-Repräsentation und -Ablage
50
1.3.2  Informationsbeziehungen durch Werteinhalte
1.3.3  Relationale Sprachschnittstelle
50
51
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

II
SQL53
QUEL54
QBE55
1.4  Charakteristiken eines relationalen DBMS
1.4.1  Anforderungen an ein relationales DBMS
56
56
Codd’sches Anforderungsprofil - RM/V2 56
1.4.2  Zusammenfassung wesentlicher Zielsetzungen, Leistungen und Schwächen des Relationen-Modells
Zielsetzungen des Relationen-Modells
Standards im Bereich des Relationen-Modells
Schwächen des Relationen-Modells
66
66
66
67
1.5  Vergleich der Datenhaltungs- und Bereitstellungs-Konzepte
1.5.1  Gruppierung konventioneller Datenhaltungs- und Bereitstellungs- und DBMS-Typen
1.5.2  Terminologievergleich konventionelle Systeme - RDBMS
1.5.3  Problembereiche konventioneller Datenhaltungs- und DBMS-Typen
Strukturierte DBMS
68
68
68
69
69
Lineare DBMS (relational-orientierte Systeme)
70
1.5.4  Komplexe DBMS: Objektorientierte Datenbank-Systeme (OODBMS)
1.6  Speicherung und Verarbeitung von komplexen Objekten (LOBs / Large Objects)
1.6.1  Die Abbildung der Realität in der IT durch strukturierte und unstrukturierte Modelle
1.6.2  Ein komplexes Objekt ist immer zerlegbar (zumindest theoretisch - praktisch manchmal nicht empfehlenswert)
Der Einfluss der Zeit auf komplexe Objekte
72
75
75
76
77
1.6.3  Kategorisierung komplexer Objekte
1.6.4  Speicherung komplexer Objekte mit DB2: Large Objects (LOBs)
1.6.5  Problematiken beim Design und der Speicherung komplexer Objekte
1.7  Speicherung und Verarbeitung von XML-Dokumenten
1.7.1  XML-Terminologie 1.7.2  Ein XML-Dokument unterliegt einem strukturierten hierarchischen Modell
1.7.3  Zielsetzung und Aufgabenstellung von XML
1.7.4  Sind die Ziele des Relationen-Modells mit XML vergleichbar?
Eine völlig unterschiedliche Herangehensweise
Unterschiedliche Eignungen
78
79
80
81
81
83
85
86
86
87
1.8  Fazit
1.9  Standardisierung von Datenbank-Methoden und Techniken
1.9.1 Standardisierungs-Organisationen
1.9.2  Wichtige allgemeine Standards
88
90
90
90
Datenbank-Standards91
ANSI/SPARC Architektur oder auch Drei-Schema-Architektur
92
SQL-Standards93
SQL-Standard: SQL 89
95
SQL-Standard: SQL92 (SQL2)
95
SQL-Standard: 1999/SQL3 (grober Auszug)
97
SQL-Standard: 2003 (relevanter Auszug)
98
SQL-Standard: 2006 (relevanter Auszug)
100
SQL-Standard: 2008 (relevanter Auszug)
101
Die Auswirkungen der bisherigen SQL-Standardisierungsmaßnahmen 102
2  DB2-System-Aufbau
103
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

2.1  Grafischer Wegweiser durch das Kapitel 2 - DB2-System-Aufbau
2.2  DB2-System-Komponenten und Zusatz-Produkte
2.2.1 DB2-System-Komponenten
2.2.2  DB2-Zusatz-Produkte von IBM
III
103
104
104
105
Zusatz-Features105
Objekt- bzw. Daten-Management-Tools
106
2.2.3  Sonstige Tools diverser Software-Hersteller
107
Entwicklungswerkzeuge für die PAEs
Verwaltungswerkzeuge für die DBADMs
107
107
2.3  Betriebssystem-Komponenten
2.3.1  System-Schichten von z/OS
2.3.2  DB2-Subsystem (Lokation oder Server)
2.3.3 DB2-Adressraum-Konzept
109
109
110
112
Sonstige Betriebssystem-Komponenten
113
Trägersysteme (Allied Agents)
113
DB2-System-Adressräume114
System-Dienste (System Services - MSTR = Master)
Datenbank-Dienste (Database Services - DBM1 = Database Manager)
Internal Resource-Lock-Manager (IRLM)
Administrativer Task Scheduler (ADMT)
Distributed Data Facilities (DDF)
114
114
114
114
115
Adressräume für Routinen (Stored Procedures und/oder User-defined Functions)
116
2.4  Allied Agents: Ankoppelbare Trägersysteme
2.4.1  Attachment-Facility, Connection und Thread
2.4.2  Zugriff auf DB2-Ressourcen aus Anwendungen heraus
117
117
118
Schnittstellen zu den Trägersystem-Typen
118
Batch-Schnittstelle mit CAF (DSNALI)
CICS-Schnittstelle (DSNCLI)
TSO-Schnittstelle (DSNELI)
Recoverable Resource Manager-Schnittstelle (DSNRLI)
Universelle Schnittstelle (DSNULI)
IMS-Schnittstelle (DFSLI000)
118
118
118
118
118
119
Dateiverarbeitungsmöglichkeiten der Trägersystem-Typen
119
2.5  Verteilung (distributing) und gemeinsame Nutzung (sharing) der DB2-Daten
2.5.1  Verteilung der DB2-Daten (distributed data)
Die Client-Server-Architektur (C/S)
DRDA - Distributed Relational Database Architecture
120
120
121
122
DRDA - Level
Remote-Zugriff über dreiteilige Objekt-Namen/ALIAS oder nach CONNECT
DB2-Privat-Protokoll und DRDA-Protokoll Technologische Grenzen der Verteilung von Daten
123
124
125
125
2.5.2  Gemeinsame Nutzung der DB2-Daten (DS - Data Sharing)
126
Betrieb mehrerer z/OS-Systeme
Data-Sharing: Group und Member
126
126
Argumente für Data Sharing
Grundsätzliche Anforderungen an ein Data-Sharing-Verfahren
127
128
Technische Lösung des DB2 Data Sharings
129
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

IV
Data Sharing benötigt einen Parallel Sysplex
Aufgaben-Abgrenzung zwischen Membern und dem Coupling Facility
129
130
Speicher-Strukturen einer Data Sharing Group
131
Die Konsistenzbewahrung bei Data Sharing (DS)
132
Sischer is sischer: Struktur-Duplizierung und Duplexed GBP
133
Einflüsse einer Data Sharing Group auf die System-Administration
Objekte und Namenskonventionen einer Data Sharing Group
134
135
Gruppen-Objekte und ihre Namen
135
Member-Objekte und ihre Namen
136
2.6  DB2-Ressource-Management durch den DB2 Administrativen Task Scheduler
2.6.1 Aufgabenstellung
2.6.2  Komponenten des Task Schedulers
137
137
137
System-Architektur137
ADMT-DB2-System-Komponenten138
Automatisierung von Utilities im Rahmen der Administrations- Scheduler Tasks (Autonomic Stored Procedures)
Planbare Ressourcen Architektur in einer Data Sharing Group
2.7  Synchronisation mehrerer Ressource-Manager: RRS - Resource Recovery Services
2.7.1 RRS-Aufgabenstellung
2.7.2  Programm-Typen für die RRS-Synchronisations-Aufgaben
2.8  DB2-Daten-Objekt-Typen
2.8.1  Meta-Objekt-Typen für die Speicherung von Daten
Verwaltung der Meta-Daten
139
140
141
142
142
143
144
144
145
Anlegen, Änderung und Löschung von Meta-Daten
145
CREATE - Anlegen von Meta-Daten
145
ALTER - Änderung von Meta-Daten
146
Online-Schema-Evolution: Realtime-Änderung
146
DROP - Löschung von Meta-Daten
146
Schema, Eigentümer und Ersteller von Daten-Objekt-Typen
147
Autorisierungs-Id, Schema, Ersteller (creator) und Eigentümer (owner)
147
Das Zusammenspiel der Spezialregister
148
Versionsführung für Meta-Objekte (Versionierung)
149
Wie kann man sich eine Versionsführung vorstellen?
149
Wie muss man sich die DB2-Versionsführung vorstellen?
150
Relevante Katalog-Informationen der Versionsführung
151
Test-Beispiele der DB2-Versionsführung
152
Im DB2 existieren vielfältige Versionen und Versionierungen
153
Katalog-Änderungen im Schwebezustand (Pending Changes)
154
Domain-Konzept und Daten-Typen
156
Grundsätzliche Überlegungen und Ausgangssituation
Builtin Daten-Typen
156
156
LOB = Large Object
157
XML = XML-Dokument
157
Benutzerdefinierte Daten-Typen (UDT = User-defined Data-Types)
158
Definition der Daten-Typen
159
Array Type
160
Vergleich von Einfachen/Ordinary Arrays und Assoziativen Arrays
161
Überblick der Array-Komponenten
162
Distinct Type
163
Automatisch generierte Cast-Funktionen
163
Nutzungsmöglichkeit der Distinct Data-Types
165
User-defined LOB-Data Types
165
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

User-defined XML-Data Types
V
165
Vergleichbarkeit und Konvertierbarkeit der Daten-Typen
166
Konvertierungen zwischen verschiedenen Builtin-Daten-Typen
167
Variablen-Typen168
Lokale Variablen
Globale Variablen
169
170
Benutzer-orientierte Daten-Objekt-Typen
170
Tabelle/Table (Base Table)
171
Definition der Tabellen-Spalten
172
Die Rolle des PKs
175
Einrichtung referenzieller Beziehungen (referential constraint)
175
Einrichtung von Check-Constraints
177
Maschinelle Vergabe von Werten durch DB2
178
Nummern-Vergabe: ROWID, IDENTITY, SEQUENCE
178
Verwaltung von technischen Gültigkeitszeiträumen: PERIOD-Klausel für SYSTEM_TIME
178
GENERATED-Klausel für die automatische Generierung von Werten (GENERATED ALWAYS und GENERATED BY DEFAULT)
179
Zuordnung einer Tabelle zu einem Tablespace
182
Definition einer Partitioned Table (table-kontrollierte Partitionierung)
183
Änderung von Tabellen- und Spalten-Charakteristiken
185
Änderung des Daten-Typs einer Spalte
186
SQL-DDL-Unterstützung für die Basis-Tabelle
190
Archiv-Tabelle (Archive Table)
193
Aufgabenstellung und Konzept
193
Vorteile des Konzeptes
194
Nachteile des Konzeptes
194
Funktionsumfang und Steuerung
194
Builtin Globale Variablen SYSIBMADM.GET_ARCHIVE und SYSIBMADM.MOVE_TO_ARCHIVE
194
Manipulations-Wirkungen aufgrund der Globalen Variablen SYSIBMADM.MOVE_TO_ARCHIVE
195
Daten-Bereitstellungs-Wirkungen aufgrund der Globalen Variablen SYSIBMADM.GET_ARCHIVE
195
Dokumentation des Archiv-Konzepts im Katalog
196
Können auch LOB- und XML-Werte archiviert werden?
197
Beispiel-Szenario für die Archivierung
198
Restriktionen des Archiv-Konzeptes
203
Clone Table
204
Aufgabenstellung und Funktionsumfang
204
Metadaten und Daten-Instanzen von Base Table und Clone Table
205
Metadaten von Base Table und Clone Table (Katalog-informationen)
205
Daten-Instanzen von Base Table und Clone Table
206
Daten-Definition von Base Table und Clone Table mittels SQL-DDL
207
Daten-Manipulationen und Utility-Unterstützung einer Clone Table
208
EXCHANGE-Statement: Austausch der Daten-Instanzen zwischen Base Table und Clone Table
209
Löschen der Clone Table
209
Restriktionen der Base Table und der Clone Table
210
Fazit210
Temporal Tables (Tabellen mit Gültigkeitszeiten)
211
Einleitung und Überblick
211
Gültigkeits-Zeitleisten-Behandlung Inklusiv oder Exklusiv: Das ist hier die Frage
211
Unterstützte Datenhaltungs-Konzepte
212
Konzeptioneller Überblick des Modells
213
Fachliche Gültigkeit (BUSINESS_TIME)
213
Manipulations-Regeln für Daten mit fachlichen Zeitleisten
215
Technische Gültigkeit (SYSTEM_TIME)
216
Technische Lösung
218
Technische Komponenten der Datenhaltung
218
Katalog-Metadaten für Temporal Tables 220
Fachliches Zeitkonzept (PERIOD BUSINESS_TIME)
221
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

VI
Grundsätzliche Aspekte
221
DDL-Definitionen
222
Meta-Informationen des Katalogs
223
Datenzustände für die Test-Beispiele
224
SQL-Beispiele: Spezialregister CURRENT TEMPORAL BUSINESS_TIME mit NULL-Wert
225
Manipulations-Beispiele225
Beispiele für Informations-Bereitstellungen (SELECT)
227
SQL-Beispiele: Spezialregister CURRENT TEMPORAL BUSINESS_TIME mit konkretem Wert
230
Manipulations-Beispiele230
Der problematische Einsatz des Spezialregisters CURRENT TEMPORAL BUSINESS_TIME (Zusammenfassung)
Bi-Temporale Tabellen mit fachlichen Gültigkeiten - PERIOD BUSINESS_TIMES und technischen Gültigkeiten - PERIOD SYSTEM_TIME und Versionierunge (History-Table)
233
238
Grundsätzliche Aspekte
238
DDL-Definitionen
240
Meta-Informationen des Katalogs
242
Datenzustände für die Test-Beispiele
245
SQL-Beispiele: Spezialregister CURRENT TEMPORAL SYSTEM_TIME mit NULL-Wert
247
Manipulations-Beispiele247
Beispiele für Informations-Bereitstellungen (SELECT)
250
SQL-Beispiele: Spezialregister CURRENT TEMPORAL SYSTEM_TIME mit konkretem Wert
251
Manipulations-Beispiele251
DB2-Temporal Tables - Zusammenfassung
254
Grundsätzliche Konzepte und unterstützte Funktionalitäten
254
Zusammenfassende Manipulations-Regeln für temporale SQL-Statements, wenn die temporalen Spezialregister zu berücksichtigen sind
255
Positive Aspekte
256
Negative Aspekte
256
Fazit257
Temporäre Tabelle (Temporary Table)
258
CGTT - Created Global Temporary Table
259
DGTT - Declared Global Temporary Table
260
Temporäre Result Table/Virtual Table
262
Temporäre Result-Table-Typen
262
Positionierung oder Materialisierung einer temporären Result Table
264
DB2-View (Virtual Table)
265
Ist die View-Result-Table read-only oder updateable? 267
View auf View - macht das Sinn?
269
Anwendungs-Unabhängigkeit von physischen Sichten
270
Individuelle Views oder generalisierte Views
271
Besonderheiten bei der Nutzung von Temporalen Tabellen durch DB2-Views
272
Nachteile und Grenzen des View-Konzepts
274
Empfehlungen zum View-Konzept
274
MQT - Materialisierte Query Table (Materialisierter View bzw. Materialisierte Result Table)
275
Komponenten einer materialisierten Query Table (MQT)
276
Definition der MQT
277
System- oder benutzer-kontrollierte MQT
279
Einrichtung einer Hash-Organisation für den Direkt-Zugriff mit Hash-Methode
280
Überblick280
Hash-Space: Aufteilung in Fixed Hash-Space und Overflow-Space
281
Katalog-Metadaten für Hash-Komponenten
283
Definition der Hash-Zugriffs-Methode
285
Neue Tabelle anlegen mit Hash-Organisation
285
Bestehende Tabelle mit Hash-Organisation ausstatten
287
SYNONYM (auslaufend/deprecated)289
ALIAS290
Maschinelle Vergabe einer lfd. Nr. durch DB2: SEQUENCE und IDENTITY
291
SEQUENCE293
Systemorientierte DB2-Objekt-Typen
294
Index294
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

VII
Definition der Index-Spalten
295
Wann wird ein Index aufgebaut und wie wird er verwaltet?
295
Index-Typen296
Basis-Index298
Ein stinknormaler Index besteht aus .......
298
Der Clustering Index organisiert die Datenfolge 299
Partitioning Index und Partitioned Index
301
und nun alle Index-Typen auf einmal
304
DPSI: Data Partitioned Secondary Index
306
Extended Index
309
Scalar Expression Index (Index on Expressions) 310
Interne Organisation eines Indexes
312
Zuordnung eines Indexes zum Indexspace, den Page Sets und Datasets
312
B-Tree-Struktur eines Indexes
313
Änderung von Index-Charakteristiken
315
Löschung eines Indexes
315
Welche Vorteile bietet ein Index, welche Nachteile sind zu beachten?
316
Vorteile eines Indexes
316
Nachteile eines Indexes
317
Empfehlungen zum Index-Einsatz
318
Tablespace319
Aufgabenstellung und relevante Zuordnungen
319
Die Page-Größe und ihre Einflüsse
321
Tablespace-Typen322
Konvertierung eines Tablespace-Typs in einen anderen
325
Vor- und Nachteile der Tablespace-Typen
326
Besonderheiten des Partitioned Tablespaces
328
Physische Charakteristiken pro Partition
328
4096 Partitions und die Konsequenzen
329
Dynamische Partitions: Hinzufügen einer neuen Partition
331
Dynamische Partitions: Rotation
333
Dynamische Partitions: Partition-Werte balancieren
335
Nachträgliche Änderungsmöglichkeiten eines Tablespaces
336
Indexspace337
Aufgabenstellung und relevante Zuordnungen
337
Database339
Storage Group
340
LOB-Objekte: Auxiliary Table, Auxiliary Index, LOB-Tablespace
341
XML-Objekte: XML Table, DocID- und NodeID-Index, XML-Index und XML-Tablespace
343
Unterstützung von Temporal Tables mit XML-Dokumenten
345
XML-Erweiterungen der DB2-Version 10 346
2.8.2 DB2-System-Ressourcen
347
DB2-Directory: Database DSNDB01
DB2-Katalog: Database DSNDB06
Datenspeicherung von System- und Benutzerdaten
Zwischenspeicher für Materialisierungen
348
349
349
350
Workfiles: Workfile Database (DSNDB07)
350
Utility-Arbeitsdateien351
DB2-Log-Dateien351
Bootstrap-Dateien (BSDS)
351
DB2-Bibliotheken351
2.9  Routinen: Stored Procedures und User-defined Functions
2.9.1  Grafischer Wegweiser durch das Kapitel 2 - Routinen: Stored Procedures und User-defined Functions und Trigger
© Copyright DGD GmbH Germany 65201 Wiesbaden
352
352
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

VIII
2.9.2  Terminologie und Übersicht
353
Routinen-Typen353
Aufgabenbereiche und Komponenten von Routinen
354
Unterschiede zwischen Externen Routinen und SQL Routinen
355
2.9.3  Kommunikations-Strukturen und Informations-Austausch bei Routinen
356
Überblick356
Vorüberlegungen bei der Nutzung von Ressourcen bei Routinen
Von Routinen nutzbare DB2-Ressource-Kategorien
357
357
2.9.4  Identifikation von Stored Procedures und Functions
358
Schema, SQL-Pfad, Specific Name und External Name
Function Overloading und Function Resolution
358
358
2.9.5  Bewahrung der Daten-Integrität - Konzept der UOW und UOR bei Einsatz von Routinen
Die grundsätzlichen Prinzipien der Daten-Integrität
Einsatz von COMMIT und ROLLBACK
Autonome UOW/UOR einer Stored Procedure
359
359
361
362
Konzept362
2.9.6  Der Einsatz von Stored Procedures
364
Grobe Zielsetzung einer Stored Procedure
364
Prozedur-Typen365
Entwicklung einer Stored Procedure
366
Definition einer Stored Procedure
368
Namen der Stored Procedure
368
Parameter einer Stored Procedure
368
Übergabe der Parameterwerte
368
Parameter-Typen (Eingabe, Ausgabe oder beides)
370
NULL-Fähigkeit der Parameter
370
PARAMETER STYLE GENERAL, GENERAL WITH NULLS und SQL (Übergabe-Konventionen einer Stored Procedure)
371
Beispiel der Parameterübergabe zwischen PL/I- und COBOL
373
PARAMETER STYLE JAVA
374
Rückgabe einer Ergebnismenge (Query Result Set)
375
CALL-Aufruf-Varianten einer Stored Procedure
376
Statische CALL-Varianten
376
Dynamischer CALL (ODBC bzw. CLI)
376
External Procedure
377
Unterstützte Programmiersprachen
377
Entwicklungsschritte einer External Stored Procedure
377
Aufrufendes und aufgerufenes Modul
377
Compile und Linkage Editor
377
Definition der Stored Procedure im Katalog
378
SQL Procedure
379
Typen und unterstützte Funktionalitäten
379
SQL External Procedure
380
Unterstützte Programmiersprachen und Sprachmittel
380
Entwicklungsschritte einer SQL External Procedure
381
Data Studio oder Development Center
382
IBM-Stored Procedure DSNTPSMP
382
Explizite Definition mit der JCL-Prozedur DSNHSQL
383
Definition der SQL Stored Procedure im Katalog
383
SQL Native Procedure
384
Unterstützte Programmiersprachen und Sprachmittel
384
Versions-Konzept einer SQL External Procedure
385
Entwicklungsschritte einer SQL Native Procedure
386
Definition der SQL Stored Procedure im Katalog
386
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

Ausführung einer Stored Procedure
IX
387
Adressraum-Konzept387
Starten und Stoppen von Stored Procedures
387
Aufruf einer remote Stored Procedure und Ablauf 388
Vor- und Nachteile von Stored Procedures
Liste der Standard-Stored Procedures (IBM-Supplied Stored Procedures)
Relative Performance-Gewichtung von Stored Procedures mit unterschiedlichen Programmiersprachen 2.9.7  Der Einsatz von benutzerdefinierten Funktionen (User-defined Functions)
Grobe Zielsetzung einer User-defined Function (UDF)
390
391
397
398
398
Funktions-Aufruf und -Ergebnis
398
Funktions-Typen399
Entwicklung einer User-defined Function
402
Definition einer User-defined Function
404
Namen der User-defined Function
404
Inlined- oder Non-Inlined-Function (Compiled Function)
404
Parameter einer User-defined Function
405
Übergabe der Parameterwerte
405
Parameter-Typen (Eingabe oder Ausgabe)
405
NULL-Fähigkeit der Parameter
405
PARAMETER STYLE SQL oder JAVA (Übergabe-Konventionen für Funktionen)
406
Beispiel der Parameterübergabe zwischen COBOL und PL/I 408
Aufruf-Varianten einer User-defined Function
409
Externe Aufruf-Varianten der Funktion
409
Interne Aufruf-Typen (CALL-Typ bzw. FINAL CALL-Klausel)
409
Scratchpad: Zwischenspeicher für die internen Aufrufe
412
Thread- und TCB-Konzept für Funktions-Aufrufe
413
TCB-Nutzung beim Funktions-Aufruf
413
TCB-Konzept bei Parallel-Abwicklung
414
DETERMINISTIC oder NOT DETERMINISTIC - das ist hier die Frage
415
Sourced Function
416
Unterstützte Programmiersprachen
416
Entwicklungsschritte einer Sourced Function
416
Definition der Sourced Function im Katalog
416
External Function
417
Unterstützte Programmiersprachen
417
Entwicklungsschritte einer External Function
417
Aufrufendes und aufgerufenes Funktions-Modul
417
Compile und Linkage Editor
417
External Scalar Function
418
Definition der Scalar Function im Katalog
418
External Table Function
419
Definition der Table Function im Katalog
419
SQL Function
420
SQL Scalar Function
420
Definition der SQL Scalar Function im Katalog
420
SQL Table Function
421
Definition der SQL Scalar Function im Katalog
421
Ausführung einer User-defined Function
422
Adressraum-Konzept422
Starten und Stoppen von User-defined Functions
422
Vor- und Nachteile von User-defined Functions
423
Vor- und Nachteile von External Scalar Functions
Vor- und Nachteile von SQL Scalar Functions
423
423
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

X
Vor- und Nachteile von External Table Functions
Vor- und Nachteile von SQL Table Functions
424
424
2.9.8  Mögliche Ressource-Nutzung
425
Unterstützte SQL-Funktionalität
425
Zugriff auf DB2-Tabellen
425
Unterstützung von LOB-Spalten und -Werten
425
Unterstützung von XML-Spalten und -Werten
425
Die Nutzung von User-defined Globalen Variablen in Routinen
426
Beispiel mit Nutzung in Stored-Procedure und Client-Anwendung
426
Nutzung von Array-Daten-Typen und Array-Funktionen in Routinen
427
Array-Typen427
Nutzungsmöglichkeit427
Einfaches Beispiel mit ARRAY_AGG-Funktion und UNNEST-Klausel im SELECT
427
Array-Funktionalität428
Überblick der Nutzung
428
Beispiel-Szenario429
Ordinary Array
429
Assoziativer Array
432
Zugriff auf externe Ressourcen
435
Remote DB2-Objekte
435
Andere relationale Datenbanken
435
CICS-Ressourcen435
IMS-Ressourcen436
WebSphere MQ-Ressourcen
436
Sonstige externe Ressourcen
436
2.9.9  Level-Konzept (Nested Routines)
437
Behandlung von Spezialregistern in Routinen
Fehlerbehandlung von Routinen
438
439
Auswahl relevanter Fehlercodes
440
2.9.10  Erforderliche Privilegien
2.9.11  Package- und Plan-Behandlung
441
442
Behandlung der externen Module
Behandlung von implizit erzeugten Packages
Wechsel der Package
Nutzung verschiedener Programm-Versionen
442
442
442
442
2.9.12  Testmöglichkeiten von SQL-Routinen
443
Allgemeine Problematik
Test-Tools (Debugger)
Besonderheiten beim Test
Routinen-Versionen einer SQL Procedure
443
443
443
443
2.9.13  Zusammenfassung der relevanten Klauseln für die Definition von Routinen
Abwicklungs-Komponenten und Zuordnung der DDL-Parameter-Wirkung
Ausführungs-Steuerung (Optionen) von Routinen
Übersicht der Options-Argumente und Zuordnungen zu den Routinen-Typen Besonderheiten und Konventionen für Java Applikationen
444
444
445
445
446
2.9.14 z/OS-Ausführungs-Umgebung
447
Überblick der beteiligten z/OS-System-Komponenten
RRS - Resource Recovery Services
447
448
Die Rolle im Rahmen von Routinen
448
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

RRSAF-Attachment: Statisches oder dynamisches Laden
XI
449
LE - Language Environment
450
LE-Konzept und relevante Komponenten
450
LE-Run-time-Options450
MSGFILE450
RPTOPTS451
RPTSTG452
Optionen zur Kontrolle des Speichers
453
TEST und NOTEST
Sonstige LE-Besonderheiten
453
453
Workload-managed Adressräume (WLM-established)
454
WLM-Terminologie454
WLM-Aufgabenstellung454
WLM-Komponenten454
WLM-Subsystem-Typen454
WLM-Service-Definitions
455
WLM-Operations-Modus455
WLM-DB2-Environment456
DB2-Installations-Parameter für WLM
456
Parametrisierung für WLM
456
WLM-JCL-Beispiel456
NUMTCB = Anzahl paralleler Tasks
457
Steuerung des WLM-Adressraums
458
Kontrolle und Abbruch aktiver Routinen
458
Wieviele WLM-Environments sind sinnvoll?
459
Privilegien für die Nutzung des WLM-Environments
459
Modul-Eigenschaften in der WLM-Umgebung
460
Threadsafe Module (reentrant) 460
Residente Module
460
Haupt- oder Unter-Routine
460
Austausch der ausführbaren Version einer Routine
461
Testmöglichkeiten in der WLM-Umgebung
462
Allgemeine Problematik
462
Test-Tools (Debugger)
462
Besonderheiten beim Test
462
Vorteile des WLM-Environments
Nachteile des WLM-Environments
Performance-Aspekte bei externen Modulen
463
463
464
2.10  Der Einsatz von Triggern
2.10.1  Zielsetzungen eines Triggers
2.10.2 Trigger-Terminologie
465
465
466
Beispiel eines Triggers
466
Trigger-Charakteristiken466
2.10.3  Übersicht der Trigger-Typen und ihre Charakteristiken
468
Komponenten eines Triggers
Aktivierungszeit: BEFORE
469
470
Allgemeine Regeln
Trigger-Beispiele: Before-Trigger
470
471
Abbildung des Einsatzes
471
Trigger mit Abweisung ungültiger Referenzen (RI-Erweiterung)
472
Trigger zur Einsetzung von Initialwerten bei Einfügungen
473
Trigger mit Übernahme redundanter Daten
473
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XII
Trigger mit Aufruf einer Funktion
473
Aktivierungszeit: AFTER
474
Allgemeine Regeln
Trigger-Beispiele: After-Trigger
474
475
Abbildung des Einsatzes
475
Verwaltung von Redundanzen
476
Trigger mit Übergabe einer Transition-Table an eine Funktion 477
Trigger mit Übergabe von Transition-Variablen an eine Funktion 477
Aktivierungszeit: INSTEAD OF
478
Allgemeine Regeln
Trigger-Beispiele: Instead of-Trigger
478
479
Abbildung des Einsatzes
479
Restriktionen eines Instead of Triggers
481
Empfehlungen für den Einsatz eines Instead of Triggers
482
Ereignis-Typen: INSERT, UPDATE und DELETE
Häufigkeit der Funktionsauslösung: ROW oder STATEMENT
483
483
2.10.4  Ablauf der Verarbeitung bei Einsatz eines Triggers
484
Trigger-Aktion485
Trigger-Condition485
Trigger-Body485
Result Table des Triggers
486
Transition-Variablen486
Transition-Tables487
Cascading-Effekte und Trigger-Level bei After Triggern
488
2.10.5 Fehler-Behandlung
489
Fehler-Erkennung und -Signalisierung
Fehler bei der Ausführung der Trigger-Statements
489
490
2.10.6  Aufruf von Routinen aus einem Trigger heraus
491
Aufruf-Techniken491
Behandlung von Spezialregistern
492
2.10.7  Nutzung sonstiger DB2-Ressourcen
493
Die Nutzung von User-defined Globalen Variablen in Triggern Die Nutzung von Array-Daten-Typen und Array-Funktionen in Triggern
2.10.8 Trigger-Package
493
493
494
Erzeugen und Löschung einer Trigger-Package
REBIND einer Trigger-Package
Abhängigkeiten einer Trigger-Package
494
494
494
2.10.9 Trigger-Restriktionen
2.10.10  Vor- und Nachteile von Triggern
495
496
3  Methodische und technische Voraussetzungen für DB2
3.1  Grafischer Wegweiser durch das Kapitel 3 - Methodische und technische Voraussetzungen für DB2
3.2  Allgemeine Voraussetzungen für eine DB2-Einführung
3.2.1  Personelle Voraussetzungen
Objekt- (OA) bzw. Daten-Administration (DA)
Datenbank-Administration (DBA)
498
498
499
500
500
500
3.2.2  Organisatorische Voraussetzungen
501
Auswirkung auf die Anwendungs-Entwicklung
501
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

3.2.3  Technische Voraussetzungen für DB2 Version 10 for z/OS
XIII
503
Hardware503
Betriebssystem-Software504
Funktionsspezifische Abhängigkeiten
504
Betriebssystemnahe Standard-Software
504
Transaktions-Management505
DRDA-Verbindungsmöglichkeiten505
Web-Verbindungen505
Anwendungs-Entwicklungs-Tools506
Programmiersprachen506
Migrations-Pfad zur Version 11
507
3.2.4  Was ist neu im DB2?
3.2.5  Migration-Strategie ins DB2
3.3  DB2-Systemkonzept
3.3.1  Single-DBMS oder Multi-DBMS?
3.3.2  Abgrenzung Produktionssystem -Testsystem
509
511
512
512
513
System-Kategorien: Test, Übergabe und Produktion
513
System-Kategorie: Test
System-Kategorie: Übergabe in die Produktion (System-Test)
System-Kategorie: Produktion
514
514
515
Problematiken bei der Übernahme von Test in die Produktion
515
Isolierte Systeme haben trotzdem Kommunikations-Erfordernisse
Koordination der Objekte zwischen Systemen
515
516
Management der Versions-Änderungen (Change Management)
516
Spezielle DB2-Übernahme-Kriterien
516
3.3.3  Datenbank-Hierarchie und Nutzungsmöglichkeiten
3.3.4 Informations-Aktualität
3.3.5  Client-Server-Konzept (C/S)
517
518
519
Zentralisierung versus Dezentralisierung
519
C/S sollte in den Köpfen des Managements beginnen ...
519
C/S benötigt klare Konzepte
520
Argumente für eine dezentrale Organisationsform (Verteilung)
521
Argumente für eine zentrale Organisationsform
521
Fazit521
Varianten der C/S-Verarbeitung
522
Verteilungsaspekte523
Lokale Zuordnung der Ressourcen
Verfügbarkeit und Nutzbarkeit der Ressourcen
523
523
Konsequenzen einer Verteilung
524
3.4  Methodische Voraussetzungen
3.4.1  Abhängigkeiten zwischen Programmen und Daten
525
525
Probleme beim Einsatz konventioneller Datenbank-Systeme
Sind solche Probleme unter DB2 automatisch gelöst?
525
527
Abhängigkeit des SQL-Spracheinsatzes von DB2-Katalog-Informationen
Abhängigkeit bei fehlendem Schichten-Konzept
Lass die Datenbank loopen!
Auswirkung der Daten-Modellierung auf die Programm-Sicht
Sicht auf unnormalisierte Daten
527
530
531
532
533
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XIV
Definition einzelner Spalten in Wiederhol-Elementen
533
Variable Zeilen mit VARCHAR- oder LOB-Definitionen
534
Speicherung von XML-Dokumenten
535
Sicht auf normalisierte Daten
536
Sicht auf Daten in der ersten Normalform (1 NF)
536
Sicht auf Daten in höheren Normalformen (2 NF, 3NF)
537
3.4.2  Abbau der Abhängigkeiten durch Methodik-Einsatz
538
Ebenen, Modell- und Ergebnis-Typen im Unternehmens-Modell
Auswirkungen auf das Anwendungs-Design
538
539
Schichten-Modell für Anwendungs-Programme
539
Separierung der Datenzugriffe von sonstigen Funktionen
540
Objektorientierte Verwaltung der Daten
541
Daten-Verwaltung immer über eine zuständige Funktion/Methode
Einsatzmöglichkeit von Standard-Zugriffs-Routinen
542
543
3.4.3  Abbau der Abhängigkeiten durch DB2-Techniken
544
Das Ebenen-Modell von DB2 Katalog-Konzept 544
545
Verlagerung von Programmlogik in den DB2-Katalog
545
Komponenten einer "aktiven Datenbank"
546
Nutzung von Stored Procedures, User-defined Functions und Triggern
547
Integritätsbewahrung als Aufgabenstellung für die Datenbank
547
Verlagerung sämtlicher datennaher Dienste in den DB2-Bereich
548
Argumente für und wider eine "aktive Datenbank"
549
3.4.4  Normungs-Effekte durch internationale Standards
550
Normungs-Effekt durch den SQL-Spracheinsatz
Open Database Connectivity (ODBC) und der CLI-Spracheinsatz
550
550
4  DB2-Sprachschnittstellen
4.1  Grafischer Wegweiser durch das Kapitel 4 - DB2-Sprachschnittstellen
4.2  Benutzergruppen und deren Anforderungen
4.3  DB2-Sprachschnittstellen für die Benutzergruppen
4.3.1  TSO-DSN-Commands: Übersicht
4.3.2 SQL-Statements
551
551
552
553
555
556
SQL-Statement- und Benutzer-Kategorien
556
DCL - Data Control Language
DDL - Data Definition Language
DML - Data Manipulation Language
556
556
557
SQL-Anwendungsformen und Sprach-Schnittstellen
559
Interactive SQL (DB2I)
Embedded SQL (EXEC-Level)
CALL-Level-Interface für C- und C++-Programme (CLI bzw. ODBC)
JDBC-API für Java-Anwendungen
SQLJ-API für Java-Anwendungen
Static SQL
Dynamic SQL
559
559
560
560
560
561
561
Übersicht der SQL-Statements und ihre Einsatzmöglichkeiten
562
4.3.3 DB2-Befehle/DB2-Commands
567
DB2-System-Commands567
Admin-Scheduler-Commands569
CICS-Commands569
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XV
IMS-Commands570
IRLM-Commands570
4.3.4 DB2-Hilfsprogramme/DB2-Utilities
571
DB2-Online-Utilities571
Utility-Control-Statements572
4.3.5  Standalone Utilities/Service Aids
4.3.6  TSO-CLISTs und TSO-DSN-Subcommands
4.4  DB2I: Masken der interaktiven DB2-Oberfläche
4.4.1  Einstiegs-Menü (Primary Option Menu)
4.4.2  D - DB2I-Defaults
572
573
574
574
575
Default-Panel 1
Default-Panel 2
575
576
4.4.3  1 - SPUFI: SQL Processor Using File Input
577
SPUFI-Steuerungsmaske577
SPUFI-Defaults579
Default-Panel 1
Default-Panel 2
579
581
SPUFI-Edit-Maske582
SPUFI-Browse-Maske583
4.4.4  2 - DCLGEN: Declarations Generator
584
Eingabemaske584
Maske mit Zusatz-Optionen
585
Beispiele generierter Ausgaben
586
COBOL-Host-Variablen-Struktur586
SEMINAR-Tabelle586
Variante: Default-Struktur- und Spalten-Namen ohne Label
586
Variante: Default-Struktur- und Spalten-Namen mit Label
587
Variante: Individuelle-Struktur- und Spalten-Namen (Table-Name mit Numerierung)
588
Variante: Individuelle-Struktur- und konkreten Spalten-Namen
589
Alle Daten-Typen
590
PL/I--Host-Variablen-Struktur592
SEMINAR-Tabelle592
Variante: Default-Struktur- und Spalten-Namen ohne Label
592
Variante: Default-Struktur- und Spalten-Namen mit Label
593
Variante: Individuelle-Struktur- und Spalten-Namen (Table-Name mit Numerierung)
594
Variante: Individuelle-Struktur- und konkreten Spalten-Namen
595
Alle Daten-Typen
596
C-Programm-Host-Variablen-Struktur598
SEMINAR-Tabelle598
Variante: Default-Struktur- und Spalten-Namen ohne Label
598
Variante: Default-Struktur- und Spalten-Namen mit Label
599
Variante: Individuelle-Struktur- und Spalten-Namen (Table-Name mit Numerierung)
600
Variante: Individuelle-Struktur- und konkreten Spalten-Namen
601
Alle Daten-Typen
602
4.4.5  3 - Program Preparation
604
Steuerungsmaske604
Program Preparation 'Compile, Link and Run Panel'
605
4.4.6  4 - Precompile
4.4.7  5 - BIND / REBIND / FREE
606
607
1 - BIND PLAN
608
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XVI
Steuerungsmaske608
Default Panel BIND PLAN
609
Connection Types Panel
610
Package List Panel
611
Ergebnis einer erfolgreichen BIND PLAN-Ausführung
611
2 - REBIND PLAN
612
Steuerungsmaske612
Default-Panel613
3 - FREE PLAN
614
Steuerungsmaske614
4 - BIND PACKAGE
615
Steuerungsmaske615
Default-Panel617
Connection Types Panel
619
Path List Panel
620
Ergebnis einer erfolgreichen BIND PACKAGE-Ausführung
620
5 - REBIND PACKAGE
621
Steuerungsmaske621
Default-Panel623
Ergebnis-Protokollierung REBIND PACKAGE
625
Ergebnis einer nicht erfolgreichen REBIND PACKAGE-Ausführung
625
Ergebnis einer erfolgreichen REBIND PACKAGE-Ausführung
626
6 - REBIND TRIGGER PACKAGE
627
Steuerungsmaske627
7 - FREE PACKAGE
628
Steuerungsmaske628
4.4.8  6 - RUN - Aktivierung einer Programm-Ausführung im Foreground oder Batch
Anstoß über Panel
JCL-Beispiel eines Batch-Ausführungs-Jobs
629
629
630
4.4.9  7 - DB2 Commands
631
Vorgabe von DB2-Commands
Ergebnis einer DB2-Command-Ausführung
631
631
4.4.10  8 - Utilities (Online-Utilities)
632
Steuerungsmaske632
Control Statement Data Set Names
633
Data Set Names
634
Ergebnisse der Job-Generierung
635
Generierungs-Informationen635
Generierter Utility-Job
636
5  SQL-DDL-Data Definition Language
5.1  Grafischer Wegweiser durch das Kapitel 5 - SQL-DDL-Data Definition Language
5.2  Dynamische DB2-Objektverwaltung
5.3  Anlegen DB2-Objekt-Typen: CREATE 5.3.1  Defaults beim Anlagen von Objekten
5.3.2  Beispiele CREATE
Systemorientierte Daten-Objekt-Typen
637
637
638
640
640
643
643
STOGROUP, DATABASE und TABLESPACE
643
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XVII
INDEX645
Base-Index-Varianten645
Auxiliary-Index, Extended Index und XML-Index
646
Benutzerorientierte Daten-Objekt-Typen
647
Array-Type647
Distinct Type
647
Benutzerdefinierte Globale Variable (User-defined global variable)
647
Base-Table-Varianten648
Basis-Tabelle mit Spalten-Definitionen
648
Basis-Tabelle mit Definition über SELECT-Statement mit Spalten-Kombination aus mehreren Tabellen
648
Basis-Tabelle mit Kopie vorhandener Tabellen-Spalten-Definitionen (LIKE)
649
Basis-Tabelle mit Index-kontrollierter Paritionierung (veraltet)
650
Basis-Tabelle mit Table-kontrollierter Paritionierung 650
Basis-Tabelle mit Hash-Organisation 651
Basis-Tabelle mit LOB-Spalte
651
Auxiliary Table für jede LOB-Spalte einer Basis-Tabelle 652
Basis-Tabelle mit XML-Spalte
653
XML Table Archiv Table 653
654
Definition der Basis-Tabelle (Archive-enabled Table)
654
Clone Table Global Temporary Table MQT - Materialized Query Table Temporal Table und History Table
655
656
657
658
Fachliche Zeitbezüge Temporal Table mit PERIOD BUSINESS_TIME
658
Technische Zeitbezüge Temporal Table mit PERIOD SYSTEM_TIME - ohne Versionierung
658
Technische Zeitbezüge Temporal Table mit PERIOD SYSTEM_TIME - mit Versionierung
659
Bi-Temporale Zeitbezüge Temporal Table und History Table - mit Versionierung
660
VIEW661
ALIAS und SYNONYM (auslaufend) 662
COMMENT und LABEL
663
SEQUENCE664
Funktionsorientierte Objekt-Typen: Routinen
665
UDF - User-defined Function
STP - Stored Procedure
665
667
Funktionsorientierte Objekt-Typen: Trigger
669
Trigger für die Manipulation von Tabellen: Before und After Trigger
Trigger für die Manipulation von Views: Instead of Trigger
669
670
5.4  Ändern DB2-Objekt-Typen: ALTER und RENAME
5.4.1  Besonderheiten bei Struktur-Veränderungen und Erweiterungen
671
673
Wie verhalten sich die Daten bei Struktur-Veränderungen?
Wie verhalten sich die Daten bei Struktur-Erweiterungen?
Was tun, wenn kein ALTER existiert?
673
673
674
5.4.2  Beispiele ALTER
675
Systemorientierte Daten-Objekt-Typen
675
STOGROUP, DATABASE und TABLESPACE
675
Konvertierung eines Segmented Tablespaces in einen UTS und setzen Objekt in Pending-Change-Status
676
INDEX677
Base-Index677
Auxiliary-Index, Extended Index und XML-Index
677
Benutzerorientierte Daten-Objekt-Typen
678
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XVIII
Array Type
678
Distinct Type
678
Globale Variable
678
Base-Table-Varianten678
Archive Table680
Auxiliary Table 680
Clone Table 681
Global Temporary Table 682
MQT - Materialized Query Table 682
Temporal Table
683
Temporal Table nachträglich auf Basis-Tabelle definieren
683
XML Table 684
VIEW684
ALIAS und SYNONYM
684
COMMENT und LABEL
685
SEQUENCE685
Funktionsorientierte Objekt-Typen: Routinen
686
UDF - User-defined Function
STP - Stored Procedure
686
687
Funktionsorientierte Objekt-Typen: Trigger
688
5.4.3  Beispiele RENAME
5.5  Löschen DB2-Objekt-Typen: DROP
5.5.1  Die Auswirkung eines DROP-Kommandos auf andere DB2-Objekte (Abbildung mit referenziellen Effekten)
5.5.2  Beispiele DROP
Systemorientierte Daten-Objekt-Typen
688
689
691
692
692
STOGROUP, DATABASE und TABLESPACE
692
INDEX693
Base-Index693
Auxiliary-Index693
Extended Index und XML-Index
693
Benutzerorientierte Daten-Objekt-Typen
694
Array Type
694
Distinct Type
694
Globale Variable
694
Base-Table694
Auxiliary Table 695
Clone Table 695
Global Temporary Table 695
MQT - Materialized Query Table 696
XML Table 696
VIEW697
ALIAS und SYNONYM
697
COMMENT und LABEL
697
SEQUENCE697
Funktionsorientierte Objekt-Typen: Routinen
698
UDF - User-defined Function
STP - Stored Procedure
698
698
Funktionsorientierte Objekt-Typen: Trigger
Objekt-Typ: Package
699
699
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

6  SQL-DML-Data Manipulation Language
6.1  Grafischer Wegweiser durch das Kapitel 6 - SQL-DML-Data Manipulation Language
6.2  SQL-DML-Sprachspektrum
6.3  SQL-DML-Anwendungsformen und Sprach-Schnittstellen
6.4  SELECT - Datenabfragen
6.4.1 SELECT-Typen
Relevante Komponenten eines SELECT-Statements
Result Table eines SELECT-Statements
Syntaktische Grundformen des SELECT-Statements
Entwicklung und Veränderungen der SELECT-Klauseln in DB2-Version 8 und 9
6.4.2  Syntax des SELECT-Statements
XIX
700
700
701
702
703
703
703
703
704
706
707
Grundformat des SELECT-Statements
Die logische Abarbeitungsfolge der SELECT-Parameter
SELECT-Klausel
707
708
709
Bereitstellung von Daten aus einer einzelnen Tabelle
Verdichtung der Result Table (DISTINCT)
Bereitstellung von Daten aus mehreren Tabellen (Join)
709
709
709
FROM-Klausel710
Bereitstellung von Daten aus Basis-Tabellen bzw. Views
Inner und Outer Join
Nested Table Expression
710
710
710
WHERE-Klausel711
Einfache Vergleichsoperatoren
711
Subquery711
Row Expression (Row-Value-Expression)
712
ORDER BY-Klausel
GROUP BY-Klausel
712
712
6.4.3  Tabelleninhalte der Beispieltabellen
6.4.4  Einfache SELECT-Abfragebeispiele aus einer Tabelle
713
715
Einfache Spaltenauswahl (PROJECT)
Konstante und arithmetisch errechnete Werte
Vergabe von Namen für Spalten der Result Table
Auswahl bestimmter Zeilen mit WHERE
Variable Auswahl bestimmter Zeilen mit WHERE und CASE
715
715
716
716
718
6.4.5  Boolsche Verknüpfungen und Prädikate
719
AND-Verknüpfung719
OR-Verknüpfung719
NOT-Verknüpfung720
BETWEEN-Prädikat720
IN-Prädikat720
LIKE-Prädikat720
NULL-Prädikat722
DISTINCT-Prädikat722
Mix von Prädikaten und Klammerung
723
6.4.6  Funktion (Builtin-Function)
724
Aggregate Function
724
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XX
Scalar Function
727
Konvertierungs-Funktion727
DateTime-Function728
VARCHAR_FORMAT-Funktion zur Aufbereitung von Timestamp- und numerischen Werten
730
Sonstige Funktionen
731
Verschachtelung von Aggregate Functions und Scalar Functions
732
6.4.7  Sortierung - ORDER BY
733
Auf- und absteigende Sortierung
Sortierung von abgeleiteten Spalten
Sortierung der Result Table eines Sub-Selects und der endgültigen Result Table
Variable Sortierung der Result Table aufgrund konkreter Inhalte mittels CASE
6.4.8  Gruppierung/ GROUP BY
733
734
735
736
737
HAVING739
Grouping Sets, Cube und Rollup (ab DB2-V11)
742
Lösung mit Grouping Sets, Cube und Rollup
742
6.4.9  Moving Aggregates (Scalar Aggregate Functions)
6.4.10 Set-Operatoren
744
747
UNION und UNION ALL
EXCEPT und EXCEPT ALL
INTERSECT und INTERSECT ALL
749
752
753
6.4.11  JOIN Selektion aus mehreren Tabellen
754
Join-Verarbeitungs-Regeln754
Kartesisches Produkt
756
Equi-Join757
Join einer Tabelle mit sich selbst
758
Inner Join und Outer Join
759
Übersicht der Ergebnis-Typen
Inner Join
Left Outer Join
Right Outer Join
Full Outer Join
Die Wirkung der ON-Klausel
Verknüpfung mehrerer Join-Typen
759
761
761
762
763
764
766
Kombination von Join und Table Expression
768
6.4.12  Scalar Full-Select
769
Möglichkeiten und Risiken
Scalar Full-Select in der WHERE-Bedingung
Scalar Full-Selects und Joins
Scalar Full-Select in der CASE-Expression
769
770
771
772
6.4.13  Table Expression
773
Nested Table Expression
773
Einfaches Beispiel
Nested Table Expression mit Outer Join
Nested Table Expression mit CASE (Statistik-Funktion)
773
775
776
Common Table Expression
777
Einsatzgebiet777
Einfaches Beispiel
777
Einsatz mehrerer Common Table Expressions
778
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXI
Rekursives SQL
Die typische Hierarchie-Abbildung
781
781
Aufbau von Test- oder Hilfsdaten
785
Kalender mit Tagen, Wochen und Wochen-Tag
785
Kalender mit Jahr, Woche und Tag nach ISO (wann beginnt die erste Woche im Jahr?)
786
Common Table Expression und INSERT
787
6.4.14  Subquery (Sub-Query)
788
Allgemeine Syntax
Non-correlated Subquery
788
790
Subquery direkt nach einem Vergleichsoperator
Subquery nach IN
Subquery nach EXISTS
Subquery nach ANY bzw. SOME und ALL
790
791
792
793
Correlated Subquery
794
Verarbeitungsunterschiede zu non-correlated Subquery direkt nach einem Vergleichsoperator
Subquery nach EXISTS
794
795
795
6.4.15  SELECT-Unterstützung für Temporal Tables
796
Perioden-Spezifikation der FROM-Klausel
SELECT mit der FOR BUSINESS-Klausel
796
797
Zugriff auf eine einzelne Tabelle
Zugriff auf mehrere Tabellen (Join)
797
798
SELECT mit der FOR SYSTEM-Klausel
800
Zugriff auf eine einzelne Tabelle
Zugriff auf mehrere Tabellen (Join)
800
803
6.5  SQL-Manipulations-Statements
6.5.1  Was versteht man unter Manipulations-Statements?
6.5.2  Temporal Tables fordern eine Abkopplung der fachlichen Änderung von der technischen Manipulations-Vorgabe
Fachlich-Funktionale Konsequenzen für Daten mit Zeitbezug
807
807
808
808
Manipulations-Typen808
Fachliche Manipulations-Festlegungen hinsichtlich der Gültigkeitszeitleisten
809
DB2-Temporal-Table-spezifische Manipulations-Festlegungen
811
DELETE- und UPDATE-Regeln einer DB2-Temporal-Table
813
BUSINESS_PERIOD-Beispiele: UPDATE mit DATE-Charakteristiken
814
BUSINESS_PERIOD-Beispiele: DELETE mit DATE-Charakteristiken
815
SYSTEM_PERIOD-Beispiele: UPDATE
816
BUSINESS_PERIOD-Beispiele: DELETE
818
6.5.3  Übersicht der SQL-Manipulations-Statement-Typen
6.5.4  SELECT-Statement mit SQL Data Change Statement
6.5.5  INSERT - Daten-Einfügung
820
821
822
Der INSERT fordert eine updateable Result Table
822
INSERT-Formate823
Verhalten bei Spalten mit Default-Maßnahmen
824
Beispiele für SQL-Dateneinfügungen
825
INSERT einer einzelnen Zeile
INSERT einer Zeilen-Gruppe (im Anwendungsprogramm)
INSERT mehrerer Zeilen mit SELECT
825
825
826
SELECT mit SQL Data Change Statement (hier: SELECT mit INSERT)
FINAL TABLE mit einer Zeile
828
829
Beispiel: SELECT FROM FINAL TABLE (INSERT ... mit INCLUDE)
830
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXII
FINAL TABLE mit mehr als einer Zeile
832
6.5.6  UPDATE - Daten-Veränderung
834
Der UPDATE fordert eine updateable Result Table
834
UPDATE-Formate835
Beispiele für SQL-Datenveränderungen
836
Searched Update
Positioned Update
836
837
SELECT mit SQL Data Change Statement (hier: SELECT mit UPDATE)
6.5.7  DELETE - Daten-Löschung
838
839
Der DELETE fordert eine updateable Result Table
839
DELETE-Formate840
Beispiele für SQL-Datenlöschungen
841
Searched Delete
Positioned Delete
841
842
SELECT mit SQL Data Change Statement (hier: SELECT mit DELETE)
6.5.8  MERGE - Daten einmischen 843
844
Der MERGE fordert eine updateable Result Table
844
MERGE-Formate845
Beispiele für SQL-Daten-Mischvorgänge
846
Einfügung einer Zeile
Änderung einer Zeile
Änderung mehrerer Zeilen
SELECT mit SQL Data Change Statement (hier: SELECT mit MERGE)
846
847
848
849
SELECT mit MERGE in einem Cursor
852
7  SQL-DCL-Data Control Language
7.1  Grafischer Wegweiser durch das Kapitel 7 - SQL-DCL-Data Control Language
7.2  DB2-Zugriffsschutzkonzept
7.2.1 Überblick
853
853
854
854
Vorüberlegungen854
Welche Ressourcen können von DB2 geschützt werden?
855
Konsequenzen bei einer vollständigen Auslagerung auf einen ESM
857
Aufteilung der Sicherheitsfunktionen zwischen DB2 und einem ESM
858
Besonderheiten der Autorisierungs-Prüfungen, wenn RACF als ESM wirkt
859
7.2.2 DB2-Privilegien-Konzept
7.2.3 DB2-Autorisierungs-Konzept
860
861
Übergabe der Autorisierungs-Identifikatoren
Primär-, Sekundär- und Current-Autorisierungs-Id
Zeitpunkt der Autorisierungsprüfung
862
863
864
Autorisierungsprüfung zur Bind-Zeit Autorisierungsprüfung zur Ausführungs-Zeit 864
865
Verhaltensweisen bei Dynamic SQL (Statement Behavior)
866
Wirkung der DYNAMICRULES-Optionen BIND, DEFINEBIND, INVOKEBIND, RUN, DEFINERUN und INVOKERUN
Zusammenfassung der Verhaltensweisen (Statement-Behavior) und Konsequenzen der Autorisierungsprüfungen
7.2.4 Privilegien-Konzept
866
867
868
Privilegien-Struktur868
Explizite Privilegien
869
Grant-Typen und Privilegienbereiche
870
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

DB2-Ressource-Typen und ihre Zuordnung der Einzel-Privilegien
XXIII
871
Implizite Privilegien
874
Owner eines Objekts
874
Administrations-Gruppen876
Hierarchie der ADM-Privilegien
879
Explizit zuordenbare ADM-Gruppen
879
Implizit wirkende Einzel-Privilegien ADM-Gruppen
880
7.2.5  Welche Privilegien werden wann benötigt? 881
Erforderliche Privilegien zur Verwaltung der DB2-Objekte
Die erforderlichen Privilegien eines Anwendungsentwicklers
Zusammenspiel von Autorisierungs-Id-Typen und Privilegien
881
883
884
Ausführung von Dynamic SQL-Statements und die erforderlichen Privilegien
Plan- und Package-Aktivitäten
7.3  GRANT - Erteilen DB2-Privilegien
7.3.1  Privilegien-Kategorien und GRANT-Varianten
7.3.2  Hierarchisches GRANT-Konzept
7.3.3 GRANT-Besonderheiten
7.3.4  Beispiele GRANT
884
885
886
886
887
888
889
GRANT-Szenario889
7.4  REVOKE - Aufheben DB2-Privilegien
7.4.1 REVOKE-Varianten
7.4.2  REVOKE und die Cascading Effekte
7.4.3 REVOKE-Besonderheiten
7.4.4  Beispiele REVOKE
891
891
892
895
896
REVOKE-Szenario896
7.5  DB2-Datenzugriffs-Kontrolle (ACCESS CONTROL)
7.5.1  Column Access Control (Column-Mask) und Row Access Control (Row-Permission) 897
897
Überblick897
Komponenten zur Einrichtung "geschützter" Objekte
898
Column Access Control (Column-Mask) - Maskierung von Ergebniswerten
900
Row Access Control (Row-Permission) - Filterung der Datenzeilen
901
7.6  Trusted Context und Rollen
7.6.1  Trusted Connection
902
902
Komponenten der Definition eines Trusted Contextes
903
Name des Trusted Contextes
903
System-Autorisierungs-Id903
Default-Rolle und ROLE AS OBJECT OWNER
903
ENABLE oder DISABLE
903
Default-Security-Label903
ATTRIBUTES903
WITH USE FOR
904
7.6.2  Die Rolle (ROLE) im Rahmen eines Trusted Contextes
7.6.3  Aktivitäten eines anderen Benutzers mit dessen Objekt-Privilegien durchführen
7.6.4  SQL-Statements und Katalog-Informationen für Trusted Context und Rollen-Konzept
7.7  VIEW - Inhaltsbezogener Datenschutz
7.7.1  Besonderheiten bei der Anwendung in Programmen
7.8  MLS - Multi-Level Security
© Copyright DGD GmbH Germany 65201 Wiesbaden
905
906
907
908
909
910
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXIV
7.8.1  Probleme bisheriger Zugriffsschutz-Verfahren
7.8.2  MLS-Konzept und relevante Komponenten
910
911
Security Kategorie, Security Level und Security Label
912
7.8.3  MAC - Mandatory Access Control / Mandatory Access Checking
913
Dominanz (Dominate/Dominance)
Äquivalenz (Equivalent)
Nicht verarbeitbar
Inkompatibilität (disjoint oder disjunkt)
Write-down Control
913
913
913
913
913
7.8.4  MLS-Implementierungs-Varianten im DB2
914
MLS und MAC auf Objekt-Ebene
MLS auf Zeilen-Ebene (Row-Level Granularity)
914
915
Write-down Control bei Row-Level Granularity
Behandlung der betroffenen SQL-Statements
915
915
CREATE TABLE/ALTER TABLE
915
DROP TABLE
915
SELECT915
INSERT915
UPDATE916
DELETE916
Behandlung der betroffenen Utilities
917
LOAD917
UNLOAD917
REORG TABLESPACE
917
Behandlung in Triggern
Sonstige Besonderheiten
917
917
7.8.5  Zusammenfassung und Konsequenzen des MLS-Konzepts
918
Beispielhafte Ressource- und Benutzer-Definitionen
918
Security-Kategorien918
Security-Level918
Security-Label918
Fazit919
7.8.6  Vor- und Nachteile des MLS-Konzepts
920
Vorteile des MLS-Konzepts
Nachteile des MLS-Konzepts
920
920
7.9  Verschlüsselung von Daten (Encryption)
7.9.1  Komponenten für die Verschlüsselung
7.9.2  Welche Daten eignen sich für DB2-Verschlüsselungs-Techniken?
7.9.3  Definition der Meta-Daten für die Verschlüsselung
7.9.4  Die Rolle des Encryption Passwords und Password Hints
7.9.5 Verschlüsselungs-Konzepte
921
921
921
922
922
923
Verschlüsselung auf Spalten-Ebene
Verschlüsselung auf Daten-Wert-Ebene
923
923
7.9.6  Effekte der Verschlüsselung
924
Behandlung der Prädikate bei Vergleichen
924
Performance-Aspekte924
Kann man auch PKs und FKs verschlüsseln?
925
Wie behandeln Utilities verschlüsselte Daten?
925
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

8  DB2-Katalog
8.1  Grafischer Wegweiser durch das Kapitel 8 - DB2-Katalog
8.2  Aufbau und Inhalte
8.2.1  Liste der Katalog-Tabellen
8.2.2  Zuordnung der Objekte zu Katalog-Tabellen
8.2.3  Referenzielle Beziehungen der wichtigsten Katalog-Tabellen
8.2.4  Katalog-Informationen zur Unterstützung der Objekt-Administration
Katalog-Spalten mit Informationen zur Speicherorganisation
Katalog-Spalten mit Informationen zur Zugriffspfad-Analyse durch den Optimizer
8.2.5  Statistiken und ihre Nutzungsmöglichkeit
XXV
926
926
927
929
935
936
938
938
940
948
Überblick948
Was ist der Zweck der Statistiken?
Übersicht der relevanten Statistik-Informationen (Generelle Statistik-Kategorien)
DB2-Statistik-Kategorien und relevante Komponenten
Speicherung der relevanten Index-Statistik-Informationen
948
949
950
952
Bedeutung von LEAFDIST
953
Bedeutung von LEAFNEAR und LEAFFAR
954
Speicherung der relevanten Daten-Statistik-Informationen
955
Bedeutung von NEAROFFPOSF und FAROFFPOSF
956
Bedeutung von CLUSTERRATIOF
957
Bedeutung von DATAREPEATFACTORF (DRF)
958
Bedeutung von NEARINDREF und FARINDREF
959
Speicherung der relevanten Hash-Statistik-Informationen
960
Kontrolle der Speicher-Organisation
960
Bewertung der Nutzung der Hash-Organisation
964
Speicherung der relevanten LOB-Statistik-Informationen
966
Bedeutung von ORGRATIO
967
Aktuelle Statistiken: RTS - Realtime-Statistiken
968
Überblick968
RTS-Komponenten969
Sammeln und Aktualisieren der Statistikdaten
970
Ausschreiben der Statistiken in die RTS-Tabellen (Externalisierung)
971
Analyse der Statistiken
971
Stored Procedure: DSNACCOX (vor DB2-Version 9 DSNACCOR) - Analyse Realtime Statistiken
971
Welche RTS-Tatbestände führen zu einer Utility-Aktivierungs-Empfehlung?
972
Welche generellen Katalog-Tatbestände führen zu einer Utility-Aktivierungs-Empfehlung?
973
8.3  Katalog-Abfragen
8.3.1  Katalog-Abfragen der Katalogbeschreibungen (Metadaten)
974
974
Objekt-Abfragen für Anwendungs-Entwickler
976
8.3.2  Katalog-Abfragen zur Überwachung der optimalen Speicherorganisation
Prüfung, ob RUNSTATS überhaupt noch nicht oder seit längerer Zeit nicht aktiviert wurde
8.3.3  Abfrage auf Reorganisations-Erfordernis
8.3.4  Nutzung von Tabellen und Indizes durch Packages
8.3.5  Katalog-Queries über referenzielle Beziehungen
8.3.6  Katalog-Queries zur Unterstützung und Kontrolle des Datenschutzes
8.4  Katalog-Veränderungen
9  Utilities
980
980
981
984
985
987
988
989
9.1  Grafischer Wegweiser durch das Kapitel 9 - DB2-Utilities
9.2  Überblick und relevante Komponenten
989
990
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXVI
9.2.1  Abgrenzung IBM-DB2-Tools - DB2-Utilities
9.2.2  DB2-Online-Utilities und Standalone-Utilities
9.2.3  DB2-Online-Utilities: Überblick
990
992
993
Komponenten eines Utilities
Aktivierungs-Varianten für Utilities
Die Phasen eines Utilities
Ergebnis- und Status-Kontrolle eines Utility-Laufs
993
994
995
996
Status-Kontrolle während der Aktivierungs-Zeit eines Utility-Laufs
996
Ergebnis-Kontrolle nach dem Abschluss eines Utility-Laufs
996
RESTART (CURRENT) und RESTART (PHASE)
997
Utility-Datasets999
Vorgabe von Utility-Control-Statements
999
CCSID-Behandlung von Utility-Control Statements
999
Spezielle Utility-Control-Statements (SYSIN-DD-Statement)
999
Dataset-Charakteristiken1000
Übersicht der Datasets für Online-Utilities
1001
Dataset-Dispositionen1002
Dataset-Größen1003
Vorgehensweisen, wenn Datasets zu klein sind
1003
Unterstützung von FlashCopy
1004
FlashCopy-Datasets1006
Generelle und spezielle Utility-Control Statements
1007
Utility-Control Statement: EXEC SQL
1008
Utility-Control Statement: LISTDEF
1010
Utility-Control Statement: TEMPLATE
1014
Utility-Control Statement: OPTIONS
1015
Die Auswirkungen der Objekt-Versionierung für Utilities
1017
Wie behandeln Utilities verschlüsselte Daten?
1018
Wie behandeln Utilities MLS-geschützte Daten
1018
Inline-Utility-Ausführungen1019
Besonderheiten der Inline-Kopien für Utilities
1019
Inline-Kopien mit dem LOAD-Utility
1020
Inline-Kopien mit dem REORG-Utility
1024
LOAD- und REORG-Besonderheiten für Inline-Kopien bei LOB- und XML-Objekten
1024
Inline-Statistiken mit dem LOAD-, REORG- oder REBUILD-Utility
1025
Sperren von Utilities und Kompatibilität zu anderen Utilities
1026
Claims und Drains
1026
Restriktiver Space-Status von Utilities
1026
Kompatibilität der Utilities untereinander
1027
Standalone-Utilities1028
9.2.4  Stored Procedures im Utility-Umfeld
9.3  DB2 Online Utilities
9.3.1  Übersicht der Kategorien und Utilities
9.3.2  Utilities zum Laden, Entladen und Reorganisieren von Daten und Indizes
1028
1029
1029
1030
LOAD-Utility1031
Überblick1031
Vorbereitungs-Aktivitäten1033
LOAD: Erforderliche Datasets und Objekte
1034
LOAD: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1035
LOAD: Utility-Ausführungs-Phasen
1036
Besonderheiten von Daten-Typen- und -Charakteristiken
1037
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

Besonderheiten beim Laden von Daten mit GENERATED ALWAYS-Spalten
Komprimierung der Daten
Performance-Faktoren beim Laden
Offline-Load
XXVII
1038
1039
1039
1040
Überblick über die Komponenten und relevante Klauseln 1040
Ein- und Ausgabe-Datasets 1040
SHRLEVEL NONE oder CHANGE
1042
REPLACE oder RESUME - Besonderheiten
1043
Laden der Daten von Partitioned Tablespaces
1044
Laden von Daten für Universal Tablespaces Partition-by-growth (UTS-PBG)
1045
Laden von LOB-Daten
1045
Laden von XML-Daten
1045
LOAD-Parallelverarbeitung1046
Paralleler-Verarbeitungs-Varianten1046
Paralleler Aufbau der Indizes beim LOAD
1048
Abbruch und Restart des LOAD-Utilities
1050
Online-Load1051
Überblick über die Komponenten und relevante Klauseln 1051
Ein- und Ausgabe-Datasets 1051
Unterscheidungsmerkmale von Offline- und Online-Load
1052
Konsequenzen bei Einsatz des Online-Load-Utilities
1052
Test-Ergebnisse Vergleich Offline-Online-Load
1053
Empfehlungen1054
Nachbereitungs-Aktivitäten1055
Test-Beispiele1056
Laden 1 Mio Zeilen in einen UTS-PBR
1056
Erläuterung des Test-Beispiels
1056
Utility-Aktivierung ohne Paralell-Verarbeitung (PARALLEL(1) als Default)
1056
Job-Control und Utility-Control-Statements ohne Paralell-Verarbeitung 1056
Ausführungs-Protokolle1056
Utility-Aktivierung mit Paralell-Verarbeitung (PARALLEL)
1058
Job-Control und Utility-Control-Statements mit Paralell-Verarbeitung
1058
Ausführungs-Protokolle1058
Laden von 6 Tabellen in einen Segmented Tablespace
1060
Erläuterung des Test-Beispiels
1060
Job-Control und Utility-Control-Statements
1060
Ausführungs-Protokolle1061
Test-Beispiel: LOAD von XML-Daten einer Temporal Table mit SPANNED YES Job-Control und Utility-Control-Statements
1062
1062
Ausführungs-Protokolle1063
REBUILD INDEX-Utility
1064
Überblick über die Komponenten und relevante Klauseln 1064
Online-Rebuild (SHRLEVEL CHANGE)
1066
Ein- und Ausgabe-Datasets 1067
Vorbereitungs-Aktivitäten1067
REBUILD INDEX: Erforderliche Datasets und Objekte
1068
REBUILD INDEX: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1069
REBUILD INDEX: Utility-Ausführungs-Phasen
1069
Paralleler Aufbau der Indizes beim REBUILD INDEX
1070
Abbruch und Restart des REBUILD INDEX-Utilities
1070
Wann ist REBUILD INDEX zweckmäßig oder erforderlich?
1071
Test-Beispiele1072
Job-Control1072
Utility-Control-Statements1072
Auszüge der Ausführungs-Protokolle
1072
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXVIII
REORG INDEX-Utility
1073
Überblick1073
Reorganisations-Methoden1073
Überblick über die Komponenten und relevante Klauseln 1074
Ein- und Ausgabe-Datasets 1074
Abbruch parallel laufender Prozesse mittel FORCE-Klausel bei Verhinderung des REORG-Abschlusses
1075
Vorbereitungs-Aktivitäten1076
REORG INDEX: Erforderliche Datasets und Objekte
1077
REORG INDEX: Utility-Sperren und Abhängigketen zu anderen Utilities
1078
REORG INDEX: Utility-Ausführungs-Phasen
1078
Paralleler Aufbau der Indizes beim REORG INDEX
1079
Abbruch und Restart des REORG INDEX-Utilities
1079
Wann ist ein REORG INDEX zweckmäßig oder erforderlich?
1080
Test-Beispiele1081
Job-Control1081
Utility-Control-Statements1081
Auszüge der Ausführungs-Protokolle
1081
REORG TABLESPACE-Utility
1082
Überblick1082
Reorganisations-Methoden1082
Erweiterungen ab DB2-Version 9
Erweiterungen ab DB2-Version 10
Erweiterungen ab DB2-Version 11
Besonderheiten bei einer Reorganisation mit der Materialisierung von Pending-Objekt-Änderungen
Strategien beim Entladen der Daten: Clustering Index-Folge oder Sortierung (SORTDATA)
Reorganisation der verschiedenen Tablespace-Typen
1083
1083
1084
1085
1086
1087
Reorganisation eines Segmented Tablespaces
1087
Reorganisation eines Partitioned Tablespaces
1087
Parallele Reorganisation bei Partitioned Tablespaces
1087
SORTNPSI - Sollen NPI-Index-Daten komplett entladen werden oder nicht?
1088
Reorganisation von UTS-PBG-Tablespaces (Partition-by-Growth)
1090
Reorganisation von XML-Tablespaces
1090
Reorganisation von LOB-Tablespaces
1091
Logging eines LOB-Tablespaces
1092
Reorganisation von Katalog- und Directory-Tablespaces
1092
Überblick über die Komponenten und relevante Klauseln 1093
Ein- und Ausgabe-Datasets 1093
Performance-Faktoren bei der Reorganisation
1095
Parallele Verarbeitungsmöglichkeiten durch andere Prozesse
1096
SHRLEVEL NONE - keine Parallelverarbeitung ab RELOAD erlaubt
1096
SHRLEVEL REFERENCE - lesende Parallel-Verarbeitung erlaubt
1097
SHRLEVEL CHANGE - Parallel-Verarbeitung erlaubt (Online-Reorg)
1098
Rolle der Mapping Table
1099
Nicht-Verfügbarkeitszeiten der Objekte für Parallel-Anwendungen
1099
Abbruch parallel laufender Prozesse mittel FORCE-Klausel bei Verhinderung des REORG-Abschlusses
1100
Konsequenzen bei Einsatz des Online-Reorg-Utilities
1100
REBALANCE - Re-Balancieren ungleich großer Partitions
1101
Beispiel einer Online-Rebalance-Maßnahme
1102
Erläuterung des Beispiel
1102
Utility-Control-Statements1102
Ausführungs-Protokolle1102
Vorbereitungs-Aktivitäten1104
REORG TABLESPACE: Erforderliche Datasets und Objekte
1106
REORG TABLESPACE: Utility-Ausführungs-Phasen
1108
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

REORG TABLESPACE: Utility-Sperren und Abhängigkeiten zu anderen Utilities
Abbruch und Restart des REORG TABLESPACE-Utilities
REORG TABLESPACE-Utility: Abbruch in Phasen und Pending-Status
XXIX
1109
1110
1110
Wann ist REORG TABLESPACE zweckmäßig oder erforderlich?
1111
Nachbereitungs-Aktivitäten1112
Test-Beispiele1113
Job-Control mit Direkt-Vorgabe eines Tablespace-Namens
1113
Utility-Control-Statements1113
Auszüge der Ausführungs-Protokolle
1114
Job-Control mit Vorgabe von Objekt-Listen und Templates
1115
Auszüge der Ausführungs-Protokolle
1115
Beispiel der Reorganisation von LOB-Tablespaces mit SHRLEVEL CHANGE
1118
Utility-Control1118
Ausführungs-Protokollierung1118
Beispiel der Reorganisation eines Tablespaces mit Objekt-Änderungen im Schwebezustand (Pending Changes)
1119
Utility-Control1119
Ausführungs-Protokollierung (relevanter Auszug)
1119
UNLOAD-Utility1120
Überblick1120
Besonderheiten beim Entladen der Daten
1122
Entladen von Tablespaces, Tables und Image-Copies 1122
Beeinflussung der Spalten- und Datenauswahl 1123
Konvertierung der Daten
1123
Vorbereitungs-Aktivitäten1123
UNLOAD: Erforderliche Datasets und Objekte
1124
UNLOAD: Utility-Ausführungs-Phasen
1124
UNLOAD: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1124
Abbruch und Restart des UNLOAD-Utilities
1125
Test-Beispiele1125
Test-Beispiel: Entladen Daten eines Partitioned Tablespaces
1125
Job-Control1125
Utility-Control-Statements1125
Auszüge des Ausführungs-Protokolls
1125
Test-Beispiel: Entladen Daten DELIMITED
1126
EBCDIC-Daten1126
Test-Beispiel: Entladen Daten mit der WHEN-Klausel und mit TEMPLATE in SYSTEMPL
1127
Job-Control1127
Auszüge des Ausführungs-Protokolls
1127
Ausdruck der Daten
1128
Test-Beispiele: Entladen Daten mit CCSID EBCDIC und UNICODE
1129
Test-Basis1129
Entladen beide mit Default-CCSID
1129
Entlade-Bestände1130
Entladen beide mit CCSID EBCDIC
1131
Entlade-Bestände1132
Entladen beide mit CCSID UNICODE
1133
Entlade-Bestände1134
Entladen beide mit CCSID UNICODE DELIMITED
1135
Entlade-Bestände1136
Test-Beispiel: Entladen LOB-Daten mit externer File Referenz und TEMPLATE
1137
Test-Basis1137
UNLOAD-Job1137
UNLOAD-Ausführungs-Protokoll1138
Test-Beispiel: UN LOAD von XML-Daten einer Temporal Table mit SPANNED YES
Test-Basis und UNLOAD-Utility-Control
1139
1139
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXX
9.3.3  Utilities zum Erzeugen von Statistik-Informationen aus Daten und Indizes
1140
RUNSTATS-Utility1141
Überblick1141
Aktualisierung der Katalog-Statistiken
1145
Welche Tabellen und Spalten aktualisiert RUNSTATS?
1145
RUNSTATS: Wirkung der Parameter UPDATE und HISTORY
1146
Woran erkennt man die Aktualität der Statistiken?
1148
Darstellung der Statistikwerte im Katalog
1148
Manuelle Veränderung der Statistikwerte im Katalog
1149
Exaktheit der Statistikwerte
1149
Ungleichförmige Verteilung von Datenwerten
1150
Statische Erfassung von Einzelwerten (KEYCARD und FREQUVAL) und Spalten-Gruppen (COLGROUP)
Statische Erfassung der Verteilung von Spaltenwerten oder Wertegruppen (HISTOGRAM)
Zurücksetzen der Katalog-Statistiken für die Zugriffspfad-Analyse (RESET ACCESSPATH)
Beispiel eines RUNSTATS-Laufs mit Zurücksetzen des kompletten Statistik-Stands auf den Initialisierungszustand (RESET ACCESSPATH)
1150
1151
1153
1154
Nutzung von Tabellen-Profilen zur Vereinheitlichung der RUNSTATS-Ausführungen (PROFILES)
1155
Vorbereitungs-Aktivitäten1156
RUNSTATS TABLESPACE: Erforderliche Datasets und Objekte
1156
RUNSTATS TABLESPACE: Utility-Ausführungs-Phasen
1156
RUNSTATS TABLESPACE: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1157
Abbruch und Restart des RUNSTATS-Utilities
1157
Test-Beispiele1158
RUNSTATS TABLESPACE TABLE ALL und INDEX ALL
1158
Utility-Control-Statements1158
Auszüge der Ausführungs-Protokolle
1158
STOSPACE-Utility1161
Überblick1161
Vorbereitungs-Aktivitäten1162
STOSPACE: Erforderliche Datasets und Objekte
1162
STOSPACE: Utility-Ausführungs-Phasen
1162
STOSPACE: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1162
Abbruch und Restart des STOSPACE-Utilities
1162
Test-Beispiele1163
Job-Control1163
Utility-Control-Statements1163
Ausführungs-Protokoll1163
Katalog-Statistiken1163
9.3.4  Utilities zum Prüfen der Konsistenz von Daten und Indizes
1164
Überblick und Abgrenzung der Aufgaben
1164
Bereinigung erkannter Ferhler-Situationen
1166
Löschen fehlerhafter Basis-Datenzeilen mittels DELETE YES
1166
LOB- oder XML-Fehler-Typen: Orphan-, Missing-, Out-of-Synch- und Invalid-Werte
1167
Entdeckung der Fehlerzustände und mögliche Ursachen
1167
Bereinigungs-Möglichkeiten der Fehlerzustände
1168
CHECK DATA-Utility
1169
Überblick1169
Was wird denn nun wie und warum gesteuert?
1172
Behandlung des CHKP-Check-Pending Status ab DB2-Version 10
1172
Objekt-Auswahl: SCOPE-Klausel
1173
XML-Tablespace-Prüfungen1174
xxxERROR-Klausel1175
Vorbereitungs-Aktivitäten1176
CHECK DATA: Erforderliche Datasets und Objekte
1176
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXI
CHECK DATA: Utility-Ausführungs-Phasen
1177
CHECK DATA: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1177
Abbruch und Restart des CHECK DATA-Utilities
1178
Nachbereitungs-Aktivitäten1178
Test-Beispiele1179
Löschen fehlerhafter referenzieller Zeilen
1179
Job-Control1179
Utility-Control-Statements1179
Auszüge der Ausführungs-Protokolle
1179
LOB-Daten aufgrund eines PIT-Recoveries auf ungültig setzen
1180
Utility-Control-Statements1180
Ausführungs-Protokoll1180
CHECK INDEX-Utility
1181
Überblick1181
Vorbereitungs-Aktivitäten1182
CHECK INDEX: Erforderliche Datasets und Objekte
1183
CHECK INDEX: Utility-Ausführungs-Phasen
1183
CHECK INDEX: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1183
Abbruch und Restart des CHECK DATA-Utilities
1183
Nachbereitungs-Aktivitäten1184
Test-Beispiele1185
Job-Control1185
Utility-Control-Statements1185
Auszüge der Ausführungs-Protokolle
1185
CHECK LOB-Utility
1186
Überblick1186
Behandlung des CHKP-Check-Pending Status ab DB2-Version 10
1188
Vorbereitungs-Aktivitäten1188
CHECK LOB: Erforderliche Datasets und Objekte
1189
CHECK LOB: Utility-Ausführungs-Phasen
1189
CHECK LOB: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1190
Abbruch und Restart des CHECK LOB-Utilities
1190
Nachbereitungs-Aktivitäten1190
Test-Beispiele1191
Job-Control1191
Utility-Control-Statements1191
Auszüge der Ausführungs-Protokolle
1191
9.3.5  Utilities zum Sichern und Wiederherstellen von Daten und Indizes
1192
BACKUP SYSTEM-Utility
1193
Überblick1193
Vorbereitungs-Aktivitäten1195
BACKUP SYSTEM: Erforderliche Datasets und Objekte
1195
BACKUP SYSTEM: Utility-Ausführungs-Phasen
1195
BACKUP SYSTEM: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1195
Abbruch und Restart des BACKUP SYSTEM-Utilities
1196
Nachbereitungs-Aktivitäten1196
Test-Beispiele1196
Job-Control1196
COPY-Utility1197
Überblick1197
Copy-Typen1199
Full Image Copy
1199
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXII
Incremental Image Copy
1199
Primär und Backup-Kopie
1200
Kopien für das lokale und das Recovery-System 1200
FlashCopy Kopien
1200
DFSMS Concurrent Copy 1201
Parallele Ausführungsmöglichkeiten des Utilities
1202
Parallele Sicherung von Objekten in einem Job
1202
Parallele Sicherung von Objekten in mehreren Jobs
1202
Erzeugen von Kopien für mehrere Objekte
1202
Vorgabe einer Liste in einer Copy-Anweisung eines Jobs
1202
Vorgabe mehrerer Copy-Anweisungen in einem Job
1202
Wie kann die Konsistenz der Objekte sichergestellt werden?
1203
Bei bestimmten 'Restriktiven Pending-Status' kann bzw. sollte keine Image Copy erzeugt werden
1203
Vom Einsatz von -TERM UTIL wird beim COPY abgeraten
1204
Vorbereitungs-Aktivitäten1204
COPY: Erforderliche Datasets und Objekte
1204
COPY: Utility-Ausführungs-Phasen
1205
COPY: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1205
Abbruch und Restart des COPY-Utilities
1206
Nachbereitungs-Aktivitäten1206
Test-Beispiele1207
Job-Control1207
Utility-Control-Statements1207
Auszüge der Ausführungs-Protokolle
1207
COPYTOCOPY-Utility1210
Überblick1210
Vorbereitungs-Aktivitäten1212
COPYTOCOPY: Erforderliche Datasets und Objekte
1212
COPYTOCOPY: Utility-Ausführungs-Phasen
1212
COPYTOCOPY: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1212
Abbruch und Restart des COPYTOCOPY-Utilities
1213
Nachbereitungs-Aktivitäten1213
Test-Beispiele1214
Job-Control1214
Utility-Control-Statements1214
Auszüge der Ausführungs-Protokolle
1214
MERGECOPY-Utility1215
Überblick1215
Vorbereitungs-Aktivitäten1216
MERGECOPY: Erforderliche Datasets und Objekte
1216
MERGECOPY: Utility-Ausführungs-Phasen
1217
MERGECOPY: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1217
Abbruch und Restart des MERGECOPY-Utilities
1217
Nachbereitungs-Aktivitäten1217
Test-Beispiele1218
Job-Control1218
Utility-Control-Statements1218
Auszüge der Ausführungs-Protokolle
1218
QUIESCE-Utility1219
Überblick1219
Vorbereitungs-Aktivitäten1221
QUIESCE: Erforderliche Datasets und Objekte
1221
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXIII
QUIESCE: Utility-Ausführungs-Phasen
1221
QUIESCE: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1221
Abbruch und Restart des QUIESCE-Utilities
1222
Nachbereitungs-Aktivitäten1222
Test-Beispiele1222
Job-Control1222
Utility-Control-Statements1222
Auszüge der Ausführungs-Protokolle
1222
RECOVER-Utility1224
Überblick1224
Zurücksetzen von Datenzuständen
1229
Vorwärts- und Rückwärts-Recovery (forward/backward und BACKOUT YES)
1230
Zurücksetzen auf den aktuellen Status
1231
Zurücksetzen auf einen früheren Zeitpunkt
1231
Copy-Typen1232
RECOVER-Szenario eines Partitioned Tablespaces
1233
COPY- und RECOVER-Klauseln für die verschiedenen Recover- und Objekt-Typen eines Partitioned Tablespaces
1234
PIT-RECOVER-Beispiele 1235
COPY und PIT-RECOVER kompletter Partitioned Tablespaces
1235
COPY und RECOVER aller oder einzelner Partitions eines Partitioned Tablespaces
1236
RECOVER von Tablespaces mit verknüpften Objekten (Indizes, RI-Constraints, LOB- oder XML-Tablespaces sowie deren Indizes)
1238
Pending Status
1238
Ungültigkeits-Markierung (invalid) von LOB- oder XML-Werten
1238
Wiederherstellen von Base-Tablespaces
1238
Wiederherstellen von LOB- oder XML-Tablespaces
1238
Wiederherstellen von Indexspaces
1238
RECOVER von Tablespaces, die mit NOT LOGGED definiert sind RECOVER von Katalog- und Directory-Objekten 1239
1239
Objekt-Hierarchie1239
Vorbereitungs-Aktivitäten1240
RECOVER: Erforderliche Datasets und Objekte
1240
RECOVER: Utility-Ausführungs-Phasen
1241
RECOVER: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1242
Abbruch und Restart des RECOVER-Utilities
1242
Nachbereitungs-Aktivitäten1242
Test-Beispiele1243
Job-Control1243
Utility-Control-Statements1243
Auszüge der Ausführungs-Protokolle
1243
RESTORE SYSTEM-Utility
1245
Überblick1245
Vorbereitungs-Aktivitäten1246
RESTORE SYSTEM: Erforderliche Datasets und Objekte
1247
RESTORE SYSTEM: Utility-Ausführungs-Phasen
1247
RESTORE SYSTEM: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1247
Abbruch und Restart des RESTORE SYSTEM-Utilities
1248
Nachbereitungs-Aktivitäten1248
Test-Beispiele1248
Job-Control1248
9.3.6  Utilities zum Löschen nicht mehr benötigter System-Informationen
MODIFY RECOVERY-Utility
1249
1250
Überblick1250
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXIV
Vorbereitungs-Aktivitäten1251
MODIFY RECOVERY: Erforderliche Datasets und Objekte
1252
MODIFY RECOVERY: Utility-Ausführungs-Phasen
1252
MODIFY RECOVERY: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1252
Abbruch und Restart des MODIFY RECOVERY-Utilities
1252
Nachbereitungs-Aktivitäten1252
Test-Beispiele1253
Job-Control1253
Utility-Control-Statements1253
Auszüge der Ausführungs-Protokolle
1253
Szenario der Löschung aller Image Copies, außer der letzten Full Image Copy und ggf. nachfolgender Incremental Image Copies
1254
Auszug aus SYSIBM.SYSCOPY vor MODIFY RECOVERY
1254
MODIFY RECOVERY-Protokoll
1254
Auszug aus SYSIBM.SYSCOPY nach MODIFY RECOVERY
1255
MODIFY STATISTICS-Utility
1256
Überblick1256
Vorbereitungs-Aktivitäten1257
MODIFY STATISTICS: Erforderliche Datasets und Objekte
1257
MODIFY STATISTICS: Utility-Ausführungs-Phasen
1257
MODIFY STATISTICS: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1257
Abbruch und Restart des MODIFY STATISTICS-Utilities
1257
Nachbereitungs-Aktivitäten1257
Test-Beispiele1258
Job-Control1258
Utility-Control-Statements1258
Auszüge der Ausführungs-Protokolle
1258
9.3.7  Utilities für Objekt-Informationen und zur Fehler-Analyse und Fehler-Bereinigung
1259
DIAGNOSE-Utility1260
Überblick1260
Vorbereitungs-Aktivitäten1261
DIAGNOSE: Erforderliche Datasets und Objekte
1261
DIAGNOSE: Utility-Ausführungs-Phasen
1261
DIAGNOSE: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1261
Abbruch und Restart des DIAGNOSE-Utilities
1261
Nachbereitungs-Aktivitäten1261
Test-Beispiele1262
Job-Control1262
Utility-Control-Statements1262
Auszüge der Ausführungs-Protokolle
1262
REPAIR-Utility1263
Überblick1263
Vorbereitungs-Aktivitäten1265
REPAIR: Erforderliche Datasets und Objekte
1265
REPAIR: Utility-Ausführungs-Phasen
1265
REPAIR: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1266
Abbruch und Restart des REPAIR-Utilities
1266
Nachbereitungs-Aktivitäten1266
Test-Beispiele1267
Job-Control1267
Utility-Control-Statements1267
Auszüge der Ausführungs-Protokolle
1267
REPORT-Utility1268
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXV
Überblick1268
Vorbereitungs-Aktivitäten1269
REPORT: Erforderliche Datasets und Objekte
1269
REPORT: Utility-Ausführungs-Phasen
1269
REPORT: Utility-Sperren und Abhängigkeiten zu anderen Utilities
1270
Abbruch und Restart des REPORT-Utilities
1270
Nachbereitungs-Aktivitäten1270
Test-Beispiele1271
Job-Control1271
Utility-Control-Statements1271
Auszüge der Ausführungs-Protokolle
1271
9.4  Standalone-Utilities
9.4.1 Übersicht
9.4.2  DSNJCNVB - Konvertieren BSDS Log-Datasets
1278
1278
1280
Überblick1280
Vorbereitungs-Aktivitäten1280
DSNJCNVB: Erforderliche Datasets und Objekte
1281
Nachbereitungs-Aktivitäten1281
Test-Beispiele1281
Job-Control1281
Auszüge der Ausführungs-Protokolle
1281
9.4.3  DSNJCNVT - Konvertieren BSDS auf das 10-Byte-Extended RBA/LRSN-Format
1282
Überblick1282
Vorbereitungs-Aktivitäten1283
DSNJCNVB: Erforderliche Datasets und Objekte
1284
Nachbereitungs-Aktivitäten1284
Test-Beispiele1284
Job-Control1284
Auszüge der Ausführungs-Protokolle
1284
9.4.4  DSNJLOGF (Preformat Active Log)
1285
Überblick1285
Vorbereitungs-Aktivitäten1285
DSNJLOGF: Erforderliche Datasets und Objekte
1286
Nachbereitungs-Aktivitäten1286
Test-Beispiele1286
Job-Control1286
Auszüge der Ausführungs-Protokolle
1286
9.4.5  DSNJU003 (Change Log Inventory) 1287
Überblick1287
Vorbereitungs-Aktivitäten1289
DSNJU003: Erforderliche Datasets und Objekte
1289
Nachbereitungs-Aktivitäten1289
Test-Beispiele1290
Job-Control1290
Auszüge der Ausführungs-Protokolle
1290
9.4.6  DSNJU004 (Print Log Map) 1291
Überblick1291
Vorbereitungs-Aktivitäten1292
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXVI
DSNJU004: Erforderliche Datasets und Objekte
1292
Nachbereitungs-Aktivitäten1292
Test-Beispiele1292
Job-Control1292
Auszüge der Ausführungs-Protokolle (aufbereitete Form mit Erläuterungen)
1293
9.4.7 DSN1CHKR
1296
Überblick1296
Vorbereitungs-Aktivitäten1297
DSN1CHKR: Erforderliche Datasets und Objekte
1297
Nachbereitungs-Aktivitäten1297
Test-Beispiele1297
Job-Control1297
9.4.8 DSN1COMP
1298
Überblick1298
Vorbereitungs-Aktivitäten1299
DSN1COMP: Erforderliche Datasets und Objekte
1299
Nachbereitungs-Aktivitäten1299
Test-Beispiele1299
Job-Control1299
Auszüge der Ausführungs-Protokolle
1300
9.4.9 DSN1COPY
1301
Überblick1301
DSN1COPY: Erweiterte Konsistenzprüfungen ab DB2-Version 11
1303
Vorbereitungs-Aktivitäten1304
DSN1COPY: Erforderliche Datasets und Objekte
1304
Test-Beispiele1305
Job-Control1305
Auszüge der Ausführungs-Protokolle
1306
9.4.10 DSN1LOGP
1307
Überblick1307
Vorbereitungsaktivitäten1308
DSN1LOGP: Erforderliche Datasets und Objekte
1308
Nachbereitungs-Aktivitäten1308
Test-Beispiele1309
Job-Control1309
Auszüge der Ausführungs-Protokolle
1309
9.4.11 DSN1PRNT
1310
Überblick1310
Vorbereitungs-Aktivitäten1311
DSN1PRNT: Erforderliche Datasets und Objekte
1311
Nachbereitungs-Aktivitäten1311
Test-Beispiele1312
Job-Control1312
Ausführungs-Protokolle1312
9.4.12 DSN1SDMP
1316
Überblick1316
Vorbereitungs-Aktivitäten1317
DSN1SDMP: Erforderliche Datasets und Objekte
1317
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXVII
Nachbereitungs-Aktivitäten1317
Test-Beispiele1317
Job-Control1317
9.5  Automatisierung des Anstoßes von Utility-Läufen durch Statistik-Analyse (Autonomic Maintenance)
9.5.1  Relevante, automatisierbare Utilities
Autonomic Statistics: Automatisierung von RUNSTATS
1318
1319
1320
9.6  Pending Status (Advisory und Restricted Status)
1321
10  Datenentwurf unter DB2
1325
10.1  Grafischer Wegweiser durch das Kapitel 10 - Datenentwurf
10.2  Rolle des ANSI-SPARC-Drei-Schemata-Ansatzes
10.3  Vorgehens-Modell
10.3.1  Entwicklungsgeschichte der relevanten Daten-Modelle
10.3.2  ERM - Entity-Relationship-Modell
10.3.3  Relationen-Modell (RM)
10.3.4  Gemeinsamkeiten von ERM und RM
10.4  Logisches Design
10.4.1 Normalisierung
1325
1326
1328
1330
1331
1333
1335
1339
1340
Unnormalisierte Daten
1NF - Atomic Attribute ohne Wiederhol-Elemente
2NF - Volle funktionale Abhängigkeit zu allen PK-Bestandteilen
3NF - Keine transitiven Abhängigkeiten der Nicht-PK-Attribute
1341
1343
1345
1347
Kritische Analyse der erreichten 3NF - Struktur-Qualität
1348
BCNF - Volle Abhängigkeit zum Candidate Key
4NF - Keine paarweisen mehrwertigen Abhängigkeiten
5NF - Ultimative Normal Form - Project-Join-Normalform (PJ/NF) Abschlussüberlegungen zur Normalisierung
1349
1350
1352
1355
10.4.2  Dokumentation der Daten-Design-Ergebnisse
1356
Bubbles/Blasendiagramme1356
Relationale Notation
1357
Dependency Diagram
1358
Netzwerk Diagramm
1359
Objektorientiertes State Transition Diagram
1360
DB2-Unterstützungstools1361
10.4.3  Festlegung der referenziellen Verarbeitungs-Regeln
1362
Darstellung der referenziellen Verarbeitungs-Maßnahmen (RI)
1364
10.4.4  Festlegung der Geschäfts-Regeln (Business-Rules)
1366
Zusammenfassende Definition der Business-Rules
Festlegung der logischen Trigger für die Business-Rules 1367
1368
10.4.5  Übersicht der kompletten Integritäts-Regeln und -Maßnahmen
1370
Strukturierung der Geschäfts-Regeln und -Aktionen
Umsetzung der Geschäfts-Regeln und -Aktionen in SQL-Funktionen
1372
1373
10.4.6  Konzeptionelle Modelle für Spezial-Konstrukte
1374
Einleitung1374
Daten unter Zeitbezug - Temporal Tables und Relationen-Modell
1375
Fachliche Zeitaspekte
1375
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XXXVIII
Einleitung, Terminologie
1375
Komponenten eines Modells für Daten mit Zeitbezug
1376
Auswirkung auf fachliche Informationen und Informations-Zusammenhänge
1378
Aufnahme von Zeit-Attributen und Konsequenzen
1379
Fachliche Funktionsauswirkungen der Zeitunterstützung
1381
Manipulation und Wirkung
1381
Entwicklung der Beispiel-Daten unter Zeitaspekten
1382
Konsequenzen der Zeitunterstützung für Fachbereichs-Benutzer
1383
Konzeptionelle Umsetzung für Zeitaspekte
1384
PK-Festlegung: Objekt-Identifikator plus Zeit- bzw. Versions-Bezug
1384
FK-Festlegung: Objekt-Identifikator mit oder ohne Zeit- bzw. Versions-Bezug
1385
Unser konzeptionelles Modell steckt voller Redundanzen: Wie sieht ein redundanzfreies Modell aus?
1387
Zeit-Leiste für jeden Attribut-Zustand
1387
Datenhaltung für jede Daten-Version bei veränderten Attribut-Zuständen
1389
Funktionale Konsequenzen für Daten mit Zeitbezug
1390
Manipulations-Typen1390
Manipulations-Festlegungen hinsichtlich der Gültigkeitszeitleisten
1391
Referenzielle Regeln für Daten mit Zeitbezug (RI-Bedingungen)
1393
Informations-Bereitstellungs-Typen1395
10.4.7  Festlegung der konzeptionellen Views
1396
Bilden von Schemata für spezielle Daten-Sichten
1396
OLAP1397
Data Warehouse: Cubes und Dimensionen
1398
Fakten (Facts)
1398
Maßeinheiten (Measures)
1398
Dimensionen (Dimensions)
1399
OLAP-Meta-Modell: Objekt-Typen
1403
10.4.8  Checkliste für das logische Daten-Design
1404
Fachliches Daten-Modell
Konzeptionelles Daten-Modell
1404
1405
10.5  Physisches Design
10.5.1 Aufgabenstellungen
10.5.2  Ableiten der physischen Benutzerobjekte aus logischen Relationen
Zielsetzungen eines physischen Daten-Modells
Kandidaten für die physische Implementierung
1407
1407
1408
1408
1409
10.5.3  Bewertung der Auswirkungen logisch definierter Zugriffspfade
1409
Aufwand bei der Datenbeschaffung
Individuelle Performance-Relevanz
Auswirkungen der Sperr-Maßnahmen
1411
1414
1415
10.5.4 De-Normalisierungs-Maßnahmen
1416
Daten-Zusammenführung1416
Trennung der Daten (Verteilung)
1418
Trennung der Daten zwischen Base- und History-Table bei Daten-Versionierung von Temporal Tables
Bilden zusätzlicher Redundanzen
Bilden von Schemata für spezielle Datenhaltungs-Konzepte
1419
1421
1423
Data Warehouse
1423
Terminologie und Komponenten
1423
MOLAP, ROLAP und HOLAP
1425
Star-Schema1427
Snowflake-Schema
1428
Struktur-Besonderheiten beim Einsatz von MQTs
1429
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

Konsequenzen der De-Normalisierung
XXXIX
1430
10.5.5 Indizes
10.5.6  Unterstützung der referenziellen Integrität (RI) durch DB2
1431
1432
Terminologie und Einrichtung unter DB2
Definierbare Strukturen
1432
1434
Zulässige Einzel-Struktur-Beziehungen
Umsetzung der M : N - Struktur-Beziehungen
Logische referenzielle Struktur
Physische referenzielle Struktur (Tablespace-Set)
1434
1435
1436
1442
Gesamt-Überblick über die DB2-RI-Unterstützung
Anforderungen an PK und FK
1444
1446
DB2-Primary-Key (PK) und Parent Key
1446
DB2-Foreign-Key (FK)
Verwaltung der RI-Definitionen im Katalog
1447
1448
Katalog-Informationen für RI
1448
RI-DDL-Beispiele1449
Argumente für und wider den Einsatz von DB2-RI
1451
10.5.7  Unterstützung der Business Rules mit Funktionen und Triggern
1452
De-Normalisierungs-Auswirkungen1452
Zuordnung der Regeln und Maßnahmen zu den physischen Strukturen
1452
Funktionale Konsequenzen bei Nicht-Nutzung von DB2-RI
1454
Funktionale Konsequenzen bei Struktur-De-Normalisierungen
1455
10.5.8  Festlegung der sonstigen DB2-Objekte mit ihren Ausprägungen
10.5.9  Festlegung der sonstigen physischen Ressourcen
10.5.10 DB2-Unterstützungstools
10.5.11  Checkliste für das physische DB2-Design
1457
1457
1457
1458
11  Datenspeicherung intern und extern
11.1  Grafischer Wegweiser durch das Kapitel 11
11.2  Übersicht der Speicherungsformen
11.3  Space-Management
11.3.1  Verwaltung und Adressierung der Daten innerhalb des Page Sets
11.3.2  Page Sets
Linear Page Sets
Partitioned Page Sets
Universal Page Sets
LOB Page Sets
XML Page Sets
1460
1460
1461
1463
1463
1465
1465
1466
1467
1468
1469
11.3.3  Page Typen des File Page Sets
1470
Header Page und System Pages
1471
Kontrolle der Umstellung des RBA/LRSN-Formats von Basic auf Extended in einer Header-Page
Space Map Pages
Daten Pages
1472
1473
1474
Satzformat: Basic-Record-Format (BRF) oder Reordered-Row-Format (RRF)
Indikatoren für LOB- und XML-Werte in der Basis-Datenzeile
Adressierung der Daten-Zeilen
Speicherung und Adressierung bei Hash-organisierten Tabellen
1475
1476
1476
1477
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XL
Insert-Strategie innerhalb der Daten-Pages
Update-Strategie bei variablen Zeilen
Delete-Strategie innerhalb der Daten-Pages
Freespace-Verwaltung der Daten-Pages
1479
1480
1480
1481
FREEPAGE und PCTFREE
1481
PCTFREE FOR UPDATE
1482
MAXROWS1482
Plattenplatz-Bedarfs-Ermittlung1483
Plattenplatz-Bedarfs-Ermittlung für LOB-Werte
1485
Besonderheiten bei Inline-LOBs
1486
PRIQTY1487
SECQTY1487
Kompression der Daten
1488
11.3.4  Page Typen des Index Page Sets
1490
Header Page und System Pages
Space Map Pages
Index Pages
1490
1490
1490
Non-Leaf Pages
Leaf Pages
Insert-Strategie innerhalb der Index-Pages
Update-Strategie innerhalb der Index-Pages
Delete-Strategie innerhalb der Index-Pages
Freespace-Verwaltung der Index-Pages
Verteilung der Non-Partitioned-Index Daten mit Hilfe von PIECESIZE
Plattenplatz-Bedarfs-Ermittlung für Indizes
1491
1492
1493
1494
1494
1494
1494
1495
Unterstützung von Page-Größen > 4-KB im Index
1497
Index-Komprimierung1498
DSN1COMP-Protokoll1499
11.4  Nutzung des virtuellen Adressraums
11.4.1  Nutzung der z/OS-Architektur
1500
1500
Erweiterte Nutzung der 64-Bit-Architektur
1501
11.4.2 Datenpool-Konzept
1503
RID-Pool1504
Sort-Pool1505
EDM-Speicherbereiche1506
Compressions-Dictionary1507
Materialisierung von LOB-Werten
1507
IRLM-Locks1507
LE-Tokens1507
11.4.3 Bufferpool-Konzept
1508
Group Bufferpools (GBP)
Virtuelles Bufferkonzept
1510
1510
Zuordnung der Bufferpools zu Tablespaces und Indexspaces
Unterstützung verschiedener Page-Größen Bufferpool-Page-Größe und VSAM-CI-Größe
Fixierung von Buffern im Realspeicher
Einbindung der Bufferpools in die System-Schichten
1510
1511
1511
1511
1512
Lese-Anforderungen1513
Direktes Einlesen (Synchronous Read)
1513
Sequential Prefetch
1513
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XLI
Dynamic Prefetch (Sequential Detection)
1514
Sequential Detection
1515
List Prefetch (List Sequential Prefetch)
1516
Schreib-Anforderungen1517
Zustandsformen der Bufferpool-Page-Typen
1518
Bufferpool-Thresholds1519
Threshold-Parametrisierungs-Empfehlungen für LOB- und XML-Werte
Mögliche Strategien der Bufferpool-Einrichtung Bufferpool-Hit Ratio und MUPA
1520
1521
1522
Bufferpool-Besonderheiten für LOB- und XML-Werte
1523
11.5  VSAM-Datasets
11.5.1  Nutzung von DFSMS (Storage Management Subsystem)
1524
1526
12  DB2-Datensicherheitseinrichtungen
12.1  Grafischer Wegweiser durch das Kapitel 12 - Datensicherheitseinrichtungen
12.2  DB2-Sicherheitsinstrumentarium
12.3  Transaktionsabwicklung
12.3.1  Terminologie und Transaktions-Definition
12.3.2  Konsistenz-Koordination bei Einsatz mehrerer Ressource-Manager
12.4  LUW-, UOW- und UOR-Konzept
12.4.1  Vorgangsabwicklung unter TSO oder einem Client ohne UOW-Konzept
12.4.2  Vorgangsabwicklung unter CICS oder IMS mit UOW-Konzept
12.4.3  Die Wirkung von SAVEPOINT und ROLLBACK TO SAVEPOINT
12.4.4 Commit-Konzepte
Überblick über Read-only-, Single-Phase- und Two-Phase-Commit
Two-Phase-Commit (2-Phasen-Commit)
1527
1527
1528
1530
1530
1532
1534
1536
1537
1538
1539
1539
1540
UOR-Status nach einem Fehler
1541
12.5  Probleme und Lösungswege der Konkurrenzverarbeitung
12.5.1  Verlorener Update
12.5.2  Zugriff zu Daten, deren UOW noch nicht abgeschlossen ist
12.5.3  Wiederholtes Einlesen von Daten innerhalb einer UOW
12.5.4  Lösungswege zum Abbau der Konkurrenz-Problematiken
12.5.5 Deadlock
1542
1543
1544
1545
1546
1548
Vermeidung von Deadlocks
Erkennung von Timeouts und Deadlocks
1549
1551
12.6  DB2-Sperrverfahren
12.6.1 Überblick
12.6.2  Transaction Lock
1552
1552
1553
Lock-Charakteristiken1553
Lock-Objekt1555
Implizite Lock-Auswirkungen auf die DB2-Systemressourcen
1555
Lock-Dauer1557
Lock-Niveau1559
Lock Eskalation
1561
SQL-Statement: LOCK TABLE
1561
Lock-Modus1562
Lock-Modus auf Lock-Niveau: Tablespace, Table bzw. Partition
1562
Lock-Modus auf Lock-Niveau: Page bzw. Row 1564
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XLII
Zusammenfassung: Aktivierung von Lock-Niveau und Lock-Modus
1565
Lock Promotion
1566
DB2-Lock-Modus-Entscheidungen1566
Isolation-Level1568
RR - Repeatable Read
1568
RS - Read Stability
1569
CS - Cursor Stability
1569
UR - Uncommitted Read
1570
Vorgabemöglichkeiten des Isolation-Levels und Wechselwirkung in Package und Plan
1571
Zugriff auf aktuelle Daten trotz Parallel-Manipulation ("currently committed") oder auch CONCURRENT ACCESS RESOLUTION
Unterschiede zwischen Latch und Lock
Lock Avoidance
Lock-Besonderheiten beim Cursor-Einsatz
Optimistic Concurrency Control (Optimistic Locking)
1572
1574
1574
1576
1576
LOCK-Besonderheiten bei LOB- und XML-Daten
1577
12.6.3  Drain Lock, Drains und Claims
12.6.4  IRLM - Internal Resource Lock Manager
12.6.5  Data Sharing (DS)
1578
1579
1580
Lock-Typen bei Data Sharing
Speicher-Strukturen einer Data Sharing Group
1580
1581
Überblick1581
Inter-DB2-Interesse im Data Sharing
1583
Übersicht der memberübergreifenden Entscheidungs-Maßnahmen IRLM-Lock-Konzept im Data Sharing
1583
1584
L-Locks und P-Locks
1584
Parent und Child-Locks und das Zusammenspiel der L-Locks und P-Locks
1585
Lock-Optimierungen bei Data Sharing
1586
12.6.6  Zusammenfassung der DB2-Lock-Mechanismen
1587
Welche relevanten Parameter steuern die Lock-Mechanismen?
Checkliste für den Einsatz der DB2-Lock-Mechanismen
Übersicht: Sperrniveau und Lock-Maßnahmen
1587
1588
1590
12.7  Konsequenzen der DB2-Sperrverfahren auf die Anwendungs-Entwicklung
12.7.1  Zusammenspiel von Isolation-Level, Lock-Modus und -Dauer
12.7.2  Verhinderung eines Parallel-Updates
Einsatz des Cursor-Konzeptes
1591
1591
1592
1592
Cursor-Konzept oder SELECT WITH RR bzw. RS?
1593
Optimistic Locking Strategie
1594
12.7.3  Parallelverarbeitung von Online- und Batch-Anwendungen
12.8  Logging-Einrichtungen
12.8.1  Steuerungsfunktionen für die Logging-Abwicklung
1595
1596
1598
Logging-Philosophie1598
Logging-Hierarchie1599
12.8.2  Führen und Ausschreiben von LOG-Informationen
1601
Maßnahmen zur Reduzierung des LOG-Aufwands
1602
12.8.3  Konsistenzsicherung innerhalb des DB2-Subsystems (REDO, UNDO)
Manuelle, nicht durch DB2 überwachte Konsistenz-Maßnahmen
1603
1604
12.8.4  Konsistenzsicherung mit Allied Agents
12.8.5  Konsistenzsicherung bei DB2 Data Sharing (DS)
1604
1605
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

12.9  Storage Server
12.9.1  ESS - Enterprise Storage Server
12.9.2  AUDIT TRACE
XLIII
1606
1606
1607
Regelbasierte Protokollierung sicherheitsrelevanter Ereignisse (Policy-based Audit Capability)
1608
Übersicht der Komponenten
1608
Audit-Kategorien1609
12.10  Problembereiche der Datensicherheitseinrichtungen
1611
13  Anwendungsprogrammierung unter DB2
13.1  Grafischer Wegweiser durch das Kapitel 13 - Anwendungsprogrammierung
13.2  Anwendungsprogrammierung: Relevante Komponenten im Überblick
13.3  Einsatzspektrum von DB2
13.3.1  Die verschiedenen Programm-Typen
Abgrenzung Dialog-, Online-, Batch- und Client/Server-Verarbeitung
1613
1613
1614
1615
1616
1616
Was versteht man unter Batch-Verarbeitung?
1617
Brauchen wir noch die Batch-Verarbeitung?
1618
Abgrenzung der Online- und Batch-Charakteristiken
1620
Client/Server-Charakteristiken1621
13.3.2  Wahl des geeigneten Trägersystems
1622
Dialog-Verarbeitung1622
Foreground-Verarbeitung1622
Background-Verarbeitung1623
Batch-Verarbeitung1624
Permanent laufende Anwendungen, Started Tasks (STC) und Message-Konzept
1625
13.3.3  Die verschiedenen Betriebsformen
1626
Normale Betriebszeiten Erweiterte Betriebszeiten (erweiterte Verfügbarkeit)
24-Stunden-Betrieb (permanente Verfügbarkeit)
1626
1626
1627
Zielsetzungen eines Multi-User-Betriebs
Ein Wort zur 'Permanenz'
1628
1628
13.3.4 Programm-Design-Überlegungen
1629
Programmübergreifende Maßnahmen
Der Einsatz von SQL: Möglichkeiten und Restriktionen
1629
1631
13.4  Programmentwicklung unter DB2 13.4.1  Unterstützte Programmiersprachen
1633
1633
Embedded SQL
Call Level Interface für C- und C++-Programme (CLI bzw. ODBC)
Java-Sprachschnittstellen (JDBC und SQLJ)
1633
1633
1634
JDBC-API für Java-Anwendungen
SQLJ-API für Java-Anwendungen
pureQuery für Java-Anwendungen
1634
1634
1634
13.4.2  Entwicklung einer DB2-Anwendung
1635
Überblick der relevanten Entwicklungs-Komponenten
Entwicklungs-Komponenten für Embedded SQL
1635
1636
DB2I: DCLGEN-Generierung
1637
SQL-Preprozessor (SQL Statement-Coprozessor bzw. DB2-Coprozesor)
1638
DB2-Precompiler1639
Aufgaben des Precompilers
1639
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XLIV
Precompiler bzw. Coprocessor-Optionen (Processing Options)
1640
Standard-SQL1643
Modifikationen der Programm-Source durch den Precompiler
1645
Entwicklungs-Komponenten für Java-Anwendungen
1647
JDBC-API1647
SQLJ-API1647
Entwicklungs-Komponenten für CLI/ODBC-Anwendungen
1648
BIND-Prozess1649
Aufgaben des BIND-Prozesses
Objekte des Bind-Prozesses
1649
1650
DBRM: Database Request Module
1650
Package1650
Package-Zuordnung zu mehreren Collections
1652
Was ist eine invalidated Package?
1653
Plan1654
Package-Liste im Plan: PKLIST
1656
Nutzung von remote Packages
1658
Packages von Routinen 1658
Die Zuordnung eines Plans zu einem Programm
1659
Dynamische Plan-Zuordnung im CICS
1660
Was ist ein invalidated Plan?
1660
Die verschiedenen BIND- und REBIND-Typen
1661
STATIC BIND: BIND PACKAGE, BIND PLAN
1661
REBIND PACKAGE, REBIND PLAN
1662
FREE PACKAGE, FREE PLAN, DROP PACKAGE
1662
DYNAMIC BIND
1662
AUTOMATIC REBIND
1663
INCREMENTAL BIND
1663
DEFERRED BIND
1663
Relevante Katalog-Tabellen
1664
Konvertierung der in Plänen eingebundenen DBRMs in Packages
PLAN Management (müsste eigentlich Package Management heißen)
1664
1665
Binder (Linkage Editor)
1666
Aktivieren der Attachment-Facility-Schnittstellen
1666
13.4.3  Beispiel- und Hilfs-Programme: DSNTIAD, DSNTEP2/4 und DSNTIAUL
1667
Übersicht1667
DSNTIAUL1668
DSNTIAUL-Return-Codes1669
DSNTIAUL-Beispiel1669
DSNTEP2/DSNTEP41671
Datasets für DSNTEP2/DSNTEP4
1671
DSNTEP2/DSNTEP4-Return-Codes1671
Eingabe-Parameter für DSNTEP2 bzw. DSNTEP4
1672
DSNTEP2/DSNTEP4-Beispiel1673
13.5  SQL-Spracheinsatz in Anwendungsprogrammen
13.5.1  Übersicht der Sprachschnittstellen
1674
1674
Interactive SQL, Embedded SQL, CLI, Static SQL und Dynamic SQL 1674
EXEC-Level-API: Embedded SQL
1675
Behandlung von Datenmengen
1677
CLI: Call-Level-Interface bzw. ODBC-Schnittstelle 1678
Java-Schnittstellen1680
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

JDBC - Java Database Connectivity
SQLJ - SQL for Java
XLV
1682
1683
REXX-Schnittstellen1686
13.5.2  Grundstruktur eines DB2-Programmes im EXEC-Level
1687
Relevante Komponenten
Basis-Codier-Regeln für SQL-Statements
1687
1688
Allgemeine Regeln
1688
Assembler-Besonderheiten1689
C-Besonderheiten1689
COBOL-Besonderheiten1690
PL/I-Besonderheiten1693
13.5.3  Definition der Variablen und Daten-Strukturen
1694
Definition der SQLCA (SQL Communication Area)
1695
Beschreibung der SQLCA-Struktur-Komponenten
SQLCA-Definitions-Struktur: Beispiele COBOL und PL/I
1695
1698
Tabellen- und View-Deklarationen
Host-Variablen und NULL-Indikatoren
1699
1701
Typen: Host-Variablen und Host-Strukturen
Einlesen von NULL-Values (NULL-Markierungen)
Setzen von NULL-Werten (NULL-Markierungen)
Einsatzspektrum von Host-Variablen und Indikatoren
Erweiterte NULL-Indikator-Variablen (Extended Indicator Variables)
1701
1703
1705
1707
1708
Host-Variablen-Arrays1710
Unterstützte Daten-Typen (mit SQLTYPE)
1711
Konvertierungsregeln zwischen DB2-Spalten und Host-Variablen
1713
Fehlerbehandlung1716
Überblick1716
Returncode-Analyse 1717
SQLCA - SQL Communication Area
1717
Auszug einiger relevanter SQLCODEs und SQLSTATEs
1718
WHENEVER1719
DSNTIAR, DSNTIAC
1719
GET DIAGNOSTICS-Statement
Behandlung schwerer Fehler 1720
1722
13.5.4 Cursor-Konzept
1723
Übersicht der Sprachmittel
Überblick über die Cursor-Typen
1723
1726
Ist die Result Table des Cursors read-only oder updateable?
1727
Non-Scrollable Cursor
1729
Deklaration des Cursors: DECLARE CURSOR
Eröffnen des Cursors: OPEN Bereitstellen einzelner Zeilen der Result Table: FETCH
Positioned Update und Delete: WHERE CURRENT OF Schließen des Cursors: CLOSE
1729
1731
1731
1732
1733
Explizites Schließen des Cursors
1733
Implizites Schließen des Cursors 1733
Statische und dynamische Result Table und ableitbare Integritäts- und Performance-Probleme beim Cursor-Konzept
Mengenverarbeitung auf Realtime-Daten: das ewige Rätsel
1734
1736
Scrollable Cursor
1738
Positionierungs-Möglichkeiten in der Result Table
1738
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XLVI
Cursor- und FETCH-Typen und ihre Sichten auf die Daten der Result Table
Statischer Scrollable Cursor (Statisches Cursor-Modell)
1739
1740
Deklaration des Cursors: DECLARE CURSOR .. SCROLL ..
1740
Informationsbereitstellung eines Static Scrollable Cursors
1741
Manipulationen über die Result Table eines Static Scrollable Cursors
1743
Dynamischer Scrollable Cursor (Dynamisches Cursor-Modell)
1744
Deklaration des Cursors
1744
Verarbeitung einer Zeilen-Gruppe (Rowset)
1745
Einlesen eines Rowsets: FETCH FOR n ROWS
COBOL-Programm-Beispiel eines Rowset-Cursors mit GET DIAGNOSTICS
Scrollable Cursor: Positionierung mit Rowsets
1745
1746
1750
Einfügen eines Rowsets: INSERT .. FOR n ROWS
Analyse der Rowset-Verarbeitungs-Ergebnisse mit GET DIAGNOSTICS
Einfluss des UOW/UOR-Konzepts auf die Cursor-Verarbeitung
Zusammenfassung der relevanten Cursor-Typen und der zu definierenden Klauseln
13.6  Besondere Programmier-Techniken unter DB2
13.6.1  Effiziente Bereitstellung einer Result Table
1751
1751
1752
1754
1755
1755
Relevante WHERE- und ORDER BY-Komponenten
Aufsetzen auf einen Composite Key
Regeln für das Aufsetzen
1756
1757
1758
13.6.2 Online-Anwendungen
1759
Online-Parallel-Update1759
Online-Browsing/Blättern
1762
13.6.3  Batch- und Multi-User-Anwendungen
1763
Langlaufende oder ressourceintensive Anwendungen
UOW und UOR
1763
1764
Die Lebensdauer einer UOW
Wirkungen beim Abschluss einer UOR
Einsatz von COMMIT (explizit oder implizit)
1764
1764
1765
Probleme, wenn kein COMMIT eingesetzt wird
1765
Was sind Kandidaten für die COMMIT-Schreibung?
1766
Konsequenzen des COMMIT-Einsatzes
1767
Unterstützung von Rollback und Restart der Batch-Programme
1768
Empfehlungen zum Design von Batch-Langläufern
1769
13.6.4  Anwendungen in verteilten Datenbankumgebungen
1770
Zugriffstypen und Protokolle
1770
DB2-Privat-Protokoll-Zugriff und DRDA-Zugriff
Two-Phase-Commit (2-Phasen) in einer verteilten Datenbank-Umgebung
Syntax-Anforderungen unterschiedlicher Systeme
Programmvorbereitungen, Pläne und Packages
SQL-Statement-Einsatz in Programmen
Vorteile und Beschränkungen der Nutzung von dreiteiligen Objektnamen
Behandlung von LOB- und XML-Werten bei remote Zugriffen
Performance- und Integritäts-Aspekte
1770
1771
1771
1772
1773
1775
1775
1776
Block-Fetch1777
Limited und Continuous Block-Fetch
1778
Überblick1778
13.6.5  Behandlung von LOB- und XML-Werten
1780
Grundsätzliche Verarbeitungsmöglichkeiten für LOB-Werte
1780
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XLVII
LOB-Daten-Typen und ihre Host-Variablen-Repräsentation
1782
LOB-Materialisierung1784
LOB-Referenzierung mittels LOB-Locator
1785
LOB-Verarbeitung mittels File-Referenz-Struktur
1786
Grundsätzliche Verarbeitungsmöglichkeiten für XML-Werte
1787
XML-Funktionen1788
Bereitstellungs-Techniken für XML-Daten
SQL-XML-Funktionen: Beispiele für Komposition und De-Komposition
1789
1790
XML-Daten-Typen und ihre Host-Variablen-Repräsentation
1791
13.6.6  Entwicklung und Einsatz von Stored Procedures
1793
Programmtechnische Umsetzung
Aufruf-Varianten einer Stored Procedure
Parameter der Stored Procedure
Codier-Beispiele: Aufruf und Parameterübergabe
1793
1793
1793
1794
Stored Procedure ohne Result Sets
1794
13.6.7  Entwicklung und Einsatz von User-defined Functions
1796
Überblick der Nutzungsmöglichkeiten
Aufruf-Varianten einer externen Funktion
Programmtechnische Besonderheiten
1796
1797
1798
Scratchpad-Bereich1798
Parallellauf-Besonderheiten1798
Parameter der User-defined Function
Codier-Beispiele: Aufruf und Parameterübergabe
1798
1799
External Scalar Function
External Table Function
1799
1801
13.6.8  Entwicklung und Einsatz von Triggern
1803
Codier-Beispiele: Aufruf mit Übergabe einer Transition-Table
1803
13.6.9 MQ-Series-Funktionen
13.6.10  Nutzung von Globalen Variablen
1804
1807
Session-Variablen und Scalar-Funktion GETVARIABLE
1807
13.6.11  Behandlung unterschiedlicher Codier-Sets für Host-Variablen
13.7  CAF - Call Attachment Facility
13.7.1  Vorteile der CAF-Nutzung
13.7.2  Entwicklung eines CAF-Programms
13.7.3  Nutzbare CAF-Funktionen
1809
1810
1810
1810
1811
Implizite Connection
Explizite Connection
Generelle Ausprägungen einer CAF-Connection
1812
1812
1812
13.8  RRSAF - Recoverable Resource Manager Services Attachment Facility
13.8.1  Vorteile der RRSAF-Nutzung
13.8.2  Entwicklung eines RRSAF-Programms
13.8.3  Nutzbare RRSAF-Funktionen
Abschluss einer UOW
1813
1813
1813
1814
1815
13.9  Universal Language Interface - Universelle Schnittstelle (DSNULI)
13.10  Dynamic SQL
13.10.1  Abgrenzung zu Static SQL
1816
1817
1817
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

XLVIII
13.10.2  Verhalten von Dynamic SQL-Statements (Statement Behavior)
13.10.3  Funktionsspektrum von Dynamic SQL
1818
1819
Manipulationen und Informationsanforderungen Parameter Markers (?)
SQLDA - SQL Descriptor Area
Struktur-Komponenten der SQLDA
Beispiele der vom Precompiler/Preprozessor generierten SQLDA-Host-Variablen-Strukturen
13.10.4  Manipulationen (Non-SELECT)
1819
1820
1821
1822
1823
1824
Feste Parameter
Variable Parameter
1824
1826
13.10.5  Informations-Anforderungen (SELECT)
1827
Feste Parameter: Fixed-List-SELECT
Variable Parameter: Varying-List-SELECT
1827
1827
13.10.6  Statement Caching
1830
Prepare-Typen und -Ausführungsarten
Ersetzen von Literalen durch generische &-Variablen (Literal-Replacement)
Sperr-Dauer bei dynamischen SQL-Statements 13.10.7  Resource Limit Facility (RLF) - DB2 Governor
13.10.8  Vor- und Nachteile von Dynamic SQL
13.11  Programmier-Empfehlungen
1831
1832
1832
1833
1834
1835
14  SQL-Performance
1838
14.1  Grafischer Wegweiser durch das Kapitel 14 - SQL-Performance
14.2  Grundlagen der SQL-Performance
14.2.1  Einleitung, Ansätze der Optimierung
1838
1839
1839
Leistungsbeeinflussende Faktoren
Optimierungs-Möglichkeiten und -Maßnahmen 1839
1840
14.2.2  Komponten der Datenbeschaffung (Stages)
1842
Aufgabenteilung von RDS, DM und BM
1842
14.2.3  DB2-Tools zur Unterstützung von Performance-Maßnahmen
1844
Übersicht1844
DB2-Trace1846
Leitlinien für Traces
1846
Trace-Typ1847
14.2.4 Thread-Management
1849
Installations-Parameter für das Thread-Management
Die Rolle von Prozess, Enklave, Transaktion, Thread, TCB und SRB
Allied Thread
1849
1850
1851
Thread-Lebenszyklus1851
Thread-Wiedernutzung (reuse)
1852
DBAT - Database Access Thread 1852
14.2.5  Die relevanten Zeiten einer Statement-Abwicklung
1854
DB2-Accounting-Zeiten1854
14.2.6 Parallel-Verarbeitung
1856
Parallel-Verarbeitungs-Typen1856
Kandidaten für Parallel-Verarbeitung 1856
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

Query-Typ: CPU bound oder I/O bound Effekte der Parallel-Verarbeitung
Aktivierung der Parallel-Verarbeitung
Voraussetzungen für die Parallel-Verarbeitung
Restriktionen bei der Nutzung der Parallel-Verarbeitung
Technische Abwicklungs-Modelle
XLIX
1858
1858
1858
1859
1859
1860
Dynamic Record-Range-Partitioning anstelle Static Keyrange-Partitioning
Straw-Modell für eine effiziente Workload-Verteilung
14.2.7  Bedeutung der Statistiken für Optimizer und Zugriffspfad-Analyse
Überblick der DB2-Statistik-Komponenten
Woher bezieht der Optimizer seine Informationen zur Zugriffspfad-Bestimmung?
Statistik-Feedback: Dokumentieren und Ausschreiben fehlender oder kritischer Statistiken durch den Optimizer 14.3  Zugriffspfad-Analyse des DB2-Optimizers
14.3.1  Aufgaben des Optimizers
14.3.2  Parsing und Parse Tree
1860
1861
1862
1862
1864
1865
1867
1867
1867
Praktisches Beispiel der Optimizer-Maßnahmen im Rahmen des Parsings
14.3.3  Entscheidungs-Faktoren des Optimizers und Zugriffspfad-Varianten
14.3.4 Optimization
Bedingte Verarbeitungsanweisung (Prädikat)
1868
1869
1870
1870
Erläuterung1870
Prädikat-Typen1871
Prädikat-Kategorien1871
Einsatz von Literalen (Konstanten) oder Variablen (Input-Variablen)
1872
Filterung1874
Inhaltliche Verteilung von Datenwerten
Filter-Faktor (FF)
1875
1875
Aufgabenstellung und Wirkung
1875
Filter-Faktor-Typen1876
Filter-Faktor für gleichmäßige Streuung: Einfache/Simple Prädikate
1877
Filter-Faktor für gleichmäßige Streuung: Interpolations-Formeln für Range-Prädikate
1877
Filter-Faktor für gleichmäßige Streuung: Default-Filter-Faktoren für Interpolation-Formeln (Input-Variablen)
1878
Filter-Faktor für ungleichmäßige Verteilung: Frequenz- (FREQVAL) und Werteverteilungs-Statistiken (KEYCARD) für Spalten oder Spalten-Gruppen
1879
Filter-Faktor für ungleichmäßige Verteilung: Häufigkeitsverteilung (HISTOGRAM) für Spalten oder Spalten-Gruppen
1879
Manuelle Ermittlung des Filter-Faktors
1880
Index-Probing (Safe Query Optimization Technik)
STAGE1, STAGE2 und INDEXABLE
1881
1882
Indexable Prädikate
1885
Komplexe Prädikatvorgaben
1886
Column-Correlation1887
Reihenfolge der Prädikat-Bewertung
1888
Aufwands-Kalkulation der SQL-Anforderung
1889
Prozess-Kostenschätzung1889
Auswahl des Zugriffspfades
1889
IO-Kostenermittlung1890
Timeron1891
14.4  DB2-Zugriffspfade auf die Daten
14.4.1  Analysemöglichkeit der Zugriffspfade
1892
1892
Rahmenbedingungen1892
Komponenten der Zugriffspfad-Analyse und EXPLAIN_Tables
1893
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

L
EXPLAIN und EXPLAIN_TABLES
1894
EXPLAIN_Tables: Überblick
1894
EXPLAIN1895
Einsatz von Input-Variablen beim EXPLAIN
1896
Beeinflussung der Optimizer-Entscheidungen durch OPTHINT oder Überschreibung von Selektivitäts-Statistiken
1896
EXPLAIN-Statement Beispiele
1897
EXPLAIN eines einfachen SQL-Statements mit Analyse der PLAN_TABLE
1897
DSN_STATEMNT_TABLE: Analyse-Möglichkeit 1898
DSN_STATEMENT_CACHE_TABL: Analyse von dynamischen SQL-Statements aus dem Dynamic Statement Cache
1899
EXPLAIN einer Package ohne REBIND
1901
DSN_PREDICATE_TABLE und DSN_PREDICATE_SELECTIVITY und DSN_STAT_FEEDBACK-Tabellen: Beispiel-Szenario
1902
Beispielhaftes Statement als Vorgabe mit EXPLAIN-Statement
1902
Inhalte der Tabelle DSN_PREDICAT_TABLE
1902
Inhalte der Tabelle DSN_FILTER_TABLE
1903
Inhalte der Tabelle DSN_PREDICATE_SELECTIVITY
1904
Inhalte der Tabelle DSN_STAT_FEEDBACK
1904
14.4.2 I/O-Zugriffs-Typ
1905
Direktes Einlesen (Synchronous Read)
Sequential Prefetch und Dynamic Prefetch
1905
1906
Dynamic Prefetch
1907
List Prefetch
1907
Nutzung dieser Technik
List-Prefetch im Index
List-Prefetch auf Daten-Pages
Der Ausweis des List-Pretches in der PLAN_TABLE
Vor- und Nachteile des List-Prefetch-Verfahrens
1907
1907
1908
1909
1910
14.4.3  Einfache Zugriffspfade
1911
Tablespace Scan (File Page Set Scan) 1913
Index-Zugriffe1914
Matching Index Scan
Non-Matching Index Scan
Equal Unique Index Access
IN-List Index Scan
1914
1916
1917
1918
Einzelne IN-Liste
1918
Mehrere IN-Listen
1919
One-Fetch Access
Index-Only Access
Range-List-Access (Aufsetzlogik, Inclusion-Methode, Blätter-Funktionalität, Pagination)
Multiple Index Access
Multiple DocID Index Access über XML-Indizes
Direkt-Zugriff auf die Daten unter Umgehung von Indizes
1920
1921
1922
1923
1924
1926
Einleitung und unterstützte Direkt-Zugriffs-Typen
Direkter Zeilenzugriff über einen Unique Hash-Key
Direkter Zeilen-Zugriff über die ROWID
Direkter Zeilen-Zugriff über die RID-Funktion
1926
1927
1929
1930
14.4.4  Komplexe Zugriffspfade
1931
Übersicht1931
Join1932
Composite Table und New Table, Outer Table und Inner Table
Ausweis von Joins in der PLAN_TABLE
1932
1933
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

LI
Join-Typ1934
Inner Join
1934
Outer Join
1935
Historische Entwicklung der Outer Joins
1937
Joins im Bereich des Data Warehouses: Star Join oder Paarweiser Join für Star-Schema und Snowflake-Schema
1939
Wann wird der Star Join genutzt?
1941
Ausweis eines Star Joins in der PLAN_TABLE
1942
Wann wird der Paarweise Join genutzt?
1943
Ausweis eines Paarweisen Joins in der PLAN_TABLE
1944
Klassische Join-Methoden
1945
Nested Loop Join
1945
Materialisierung/Sortierung bei einem Nested Loop Join
1948
Merge Scan Join
1949
Hybrid Join
1951
Beeinflussung der Outer-Table-Auswahl und der Join-Methode 1953
Komplexe Query-Typen
1954
Correlated und Non-Correlated Query-Typen
1954
Query-Block1955
Der Nummerierungs-Wahnsinn der QBLOCKNO
1955
Subquery1956
Non-correlated Subquery
1957
Correlated Subquery
1959
Table Expression
1961
Common Table Expression
1961
Rekursives SQL
1962
Nested Table Expression
1963
Scalar Full-Select
SELECT FROM FINAL/OLD TABLE mit Data-Change-Statement
1964
1965
Set-Operator1967
Trigger-Package1968
Sortierung1969
Einige Worte zum Scrollable Cursor
1970
Parallel-Verarbeitung1971
Materialisierung1972
14.4.5  Spezielle Zugriffspfade
1973
IBM Smart Analytics Optimizer (Accelerator Server)
1973
Überblick1973
Technisches Konzept
1974
Integration ins DB2 z/OS
1975
AQR - Automatic Query Rewrite bei Einsatz von MQTs (Materialisierte Query Tables)
1976
Überblick1976
Nutzungs-Potential von MQT und AQR
1980
Temporal Tables
1981
Einleitung1981
Bi-Temporal Table
1982
DDL-Beispiele für SEMTYP, REFERENT und SEMINAR (als Auszug aus dem Seminar-Daten-Modell)
1982
Explain-Analysen1985
Einfache SELECT-Statements
1985
Komplexe SELECT-Statements (Join)
1987
BUSINESS_TIME1987
SYSTEM_TIME1988
Manipulations-Statements1991
14.5  Beeinflussung der Zugriffspfad-Entscheidungen
1992
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

LII
14.5.1  Statement-Modifikationen durch den Optimizer
1993
Prädikat-Modifikationen und Einfügungen
Modifikationen der Join-Verarbeitung
1993
1994
Konvertierung von Subqueries in Joins
Transformation von Non-Correlated Subqueries in Correlated und umgekehrt (De-Correlation)
1995
1995
Materialisierungs-Entscheidung1995
Prädikate, die bei der Evaluierung immer 'wahr' oder immer 'falsch' ergeben
1996
OR 0 = 1
OR 0 <> 0
1996
1996
14.5.2  Möglichkeiten für Anwendungsentwickler bei der Beeinflussung des Zugriffspfads
Veränderung von Objekt-Strukturen
Manipulation der Statistiken
Umschreiben von SQL-Statements
OPTIMIZE FOR n ROWS
BIND-Parameter REOPT und seine Auswirkungen
1997
1997
2000
2001
2003
2004
14.5.3  Extended Optimization: Beeinflussung der Zugriffspfad-Optimierung durch Vorgabe von Performance-Einfluss-Faktoren
Überblick der Komponenten
Selektivitäts-Statistiken: Überschreibung der vom Optimizer herangezogenen Statistikwerte (Statement-level selectivity overrides)
Überblick der relevanten Komponenten
Szenario zur Vorgabe der Statistik-Vorgaben
2005
2005
2007
2007
2008
DSN_USERQUERY_TABLE: Beispiel Selektivitäts-Statistiken
2009
DSN_PREDICATE_SELECTIVITY : Beispiel Selektivitäts-Statistiken
2010
BIND/REBIND mit Ergebnis-Protokollierung
2010
OPTHINT: Beeinflussung der Entscheidung des Optimizers mittels Optimization-Hints
2011
Komponenten2011
Voraussetzungen zur Nutzung 2013
Prioritäten der Berücksichtigung von Optimization Hints
2013
Statement-Level Optimization Hint - Nutzung des Zugriffspfad-Repositories (Access Path Repository)
2014
Statement-Level Optimization Hint: Parameter-Spezifikationen (Parameter Hints)
2015
Statement-Level Optimization Hint: Zugriffspfad-Empfehlungen (Access Path Hints)
2017
BIND/REBIND mit Ergebnis-Protokollierung
2018
User-Level Optimization Hint: Vorgabe von Zugriffspfad-Empfehlungen für den Optimizer über die PLAN_TABLE (OPTHINT - Optimization Hints)
14.6  Stabilität von Zugriffspfaden und Zugriffspfad-Repository (Access-Path-Repository)
14.6.1  Komponenten des Zugriffspfad-Repositories (Access-Path-Repository)
14.6.2 Zugriffspfad-Stabilität: Bewahrung bzw. Kontrolle vorhandener Zugriffspfade
Komponenten der Zugriffspfad-Stabilität
Kontrolle der Zugriffspfad-Stabilität
Was tun bei Änderung des Zugriffspfads
2019
2022
2023
2024
2024
2025
2026
14.7  Zusammenfassung der relevanten Performance-Komponenten
14.7.1  DB2-interne Automatismen
2027
2027
Zugriffspfad-Effizienz
Mögliche Zugriffspfade
2027
2030
14.7.2  Systemgenerierungs- und Installations-Optionen
14.7.3  Objekt-Definitionen
14.7.4  Anwendungs-Design und -Programmierung
2031
2033
2035
SQL-Query-Empfehlungen2036
Was tun bei langlaufenden Statements?
2037
Zusammenfassende Empfehlungen für Anwendungs-Entwickler
2038
© Copyright DGD GmbH Germany 65201 Wiesbaden
DB2DB2-Theorie
Theorieund
undPraxis
Praxis::Inhaltsverzeichnis
Lizenz-Variablen

14.8  Testdaten für die Performance-Tests
14.8.1  Physisches Daten-Modell für Performance-Tests
14.8.2  Metadaten-Übersicht der Test-Objekte
14.8.3  DDL für die Performance-Tests
14.8.4  Beispiel-SQL-Statements zur Einfügung der Daten
14.8.5  Beispiel-Ausdrucke der Tabellen
14.8.6  Beispiel-SQL-Statement zur Analyse der PLAN_TABLE für die Performance-Tests
© Copyright DGD GmbH Germany 65201 Wiesbaden
LIII
2039
2039
2039
2041
2044
2045
2047
Herunterladen