Inhaltsverzeichnis | 8 |
Vorwort | 12 |
1 Oracle-Design | 14 |
1.1 Datenhaltung in Oracle | 14 |
1.1.1 Tabellen | 14 |
1.1.2 Referentielle Integrität | 19 |
1.1.3 Trigger | 20 |
1.1.4 Views | 23 |
1.1.5 Partitionierung | 25 |
1.1.6 Cluster | 29 |
1.1.7 Datentypen | 31 |
1.1.8 Grundsätze für effektives Tabellendesign | 34 |
1.2 Zugriffshilfen | 36 |
1.2.1 Indizes | 36 |
1.2.2 Index-organisierte Tabellen (IOTs) | 40 |
1.2.3 Sequenzen | 42 |
1.2.4 Einsatz von Indizes und Sequenzen | 44 |
1.3 Statistiken | 45 |
1.4 Der Zugriff auf Oracle | 46 |
1.5 SQL | 54 |
1.5.1 Shared SQL | 54 |
1.5.2 Hints, Outlines, SQL-Profile und SQL Plan Baselines | 55 |
1.5.3 Lesende Operationen | 56 |
1.5.4 Schreibende Operationen | 62 |
1.6 PL/SQL | 70 |
1.7 Upgrade | 74 |
1.7.1 Generelle Überlegungen | 75 |
1.7.2 Real Application Testing (RAT) | 78 |
2 SQLTuning | 88 |
2.1 Die drei Phasen einer SQL-Anweisung | 88 |
2.2 Der Ausführungsplan | 91 |
2.3 Der Oracle Optimizer | 97 |
2.3.1 Der RULE-based Optimizer (RBO) | 97 |
2.3.2 Costbased Optimizer (CBO) | 98 |
2.3.3 Einstellungen für den Optimizer | 99 |
2.4 Statistiken im Detail | 103 |
2.4.1 Histogramme | 113 |
2.4.2 Wann und wie oft soll man die Statistiken erstellen (lassen)? | 117 |
2.5 Row Sources | 120 |
3 Das ABC des Datenbank-Tunings | 136 |
3.1 Ratios oder Wait Interface? | 136 |
3.2 Statistische Kennzahlen | 138 |
3.3 Segmentstatistiken | 143 |
3.4 Ratios | 146 |
3.5 Wait Events | 148 |
4 Vorgehensweisen beim Tuning | 156 |
4.1 Ansätze beim Tuning | 156 |
4.2 Generelle Performance-Untersuchung | 157 |
4.3 Spezifische Performance-Untersuchung | 162 |
4.4 Wann und wo setzen Sie die verschiedenen Methoden ein? | 167 |
5 Performance Tracing und Utilities | 170 |
5.1 Utilities | 170 |
5.2 Tuning mit den Advisories | 172 |
5.3 EXPLAIN PLAN | 180 |
5.4 SQL_TRACE | 184 |
5.5 TKPROF | 187 |
5.6 Event 10046 | 193 |
5.7 Ausführungspläne in der Vergangenheit | 194 |
5.8 DBMS_MONITOR | 195 |
5.9 Event 10053 | 196 |
5.10 AWR ASH, Statspack und Bstat/Estat | 201 |
5.11 Das Tracing von PL/SQL | 209 |
5.12 Performance und SQL*Net | 212 |
5.12.1 SQL*Net Tracing | 212 |
5.12.2 Event 10079 | 213 |
5.12.3 Trace Assistant | 214 |
5.12.4 Trcsess Utility | 216 |
5.13 Tuning mit dem Enterprise Manager | 216 |
6 Physikalische Strukturen | 224 |
6.1 Einleitung | 224 |
6.2 Oracle im Hauptspeicher | 224 |
6.3 Oracle-Systembereiche | 235 |
6.4 Platzverwaltung in Tablespaces | 249 |
6.5 Oracle-Systembereiche im Detail | 251 |
6.6 Platzverwaltung im Segment | 262 |
7 Oracle wird parallel | 268 |
7.1 Parallel Query | 268 |
7.2 Hauptspeicherbedarf beim Einsatz von Parallel Query | 275 |
7.3 Parallel DML (PDML) und parallel DDL (PDDL) | 278 |
7.4 Statistiken für Parallel Query | 281 |
7.5 Parallele Ausführungspläne | 284 |
7.6 Parallelisierung und Partitionierung | 285 |
7.7 Parallel Tracing | 287 |
7.8 Parallele Wait Events | 288 |
7.9 Einsatz und Tuning paralleler Operationen | 289 |
8 Stabile Ausführungspläne | 292 |
8.1 Hints | 292 |
8.1.1 Hints, die den Optimizer steuern | 294 |
8.1.2 Hints für Zugriffspfade | 295 |
8.1.3 Hints für die Transformierung von SQL-Anweisungen | 298 |
8.1.4 Hints für Query Rewrite | 298 |
8.1.5 Hints für die Star Transformation | 299 |
8.1.6 Hints für Joins | 300 |
8.1.7 Hints für spezielle Operationen | 302 |
8.1.8 Hints für die parallele Ausführung | 304 |
8.1.9 Hints und Views | 305 |
8.2 Outlines: Stabile Optimizer-Pläne | 306 |
8.3 SQL-Profile | 310 |
8.4 SQL Plan Management | 311 |
9 Tuning über Parameter | 316 |
9.1 Die Oracle-Parameter | 316 |
9.2 Ausgewählte Parameter | 319 |
10 Spezifische Einstellungen | 334 |
10.1 Tuning in hochverfügbaren Umgebungen | 334 |
10.1.1 Was ist Hochverfügbarkeit? | 334 |
10.1.2 Wie viele Rechner? | 336 |
10.1.3 Anforderungen an die Hardware | 337 |
10.1.4 Datenbanktypen in Hochverfügbarkeitsumgebungen | 339 |
10.1.5 Backup und Recovery | 341 |
10.1.6 RAC: Applikatorische Anforderungen | 341 |
10.2 Spezifische Einstellungen für das Betriebssystem | 342 |
10.2.1 I/O | 342 |
10.2.2 Betriebssysteme | 346 |
11 Glossar | 348 |
Literatur | 352 |
Register | 354 |