Seminarziel
Vermittlung praxisnaher Kenntnisse zum Erstellen, Analysieren und Tuning von SQL in Oracle
Verständnis der Oracle Architektur und Optimizer Entscheidungen
Hands on Workshops zur direkten Anwendung
Seminarinhalt
Einführung und Ziele
- Grundlagen effizienter vs. ineffizienter SQL Beispiele
- Übersicht über Tuning-Tools und typische Tuning-Szenarien
Oracle-Architektur und SQL-Verarbeitung
- Physische Struktur und Speicherstruktur
- Speicherverwaltung und grundlegender Ablauf beim Verarbeiten von SQL-Anweisungen
- Kurzer Überblick: Execution Path und Rollen der Komponenten
Query Optimizer: Theorie und Steuerung
- Funktionen des Query Optimizers: Selektivität, Kardinalität und Kosten
- Einfluss von Initialisierungsparametern auf das Optimizer Verhalten
- Zugriffspfade, Join-Arten, Join-Ausführung und Sortiervorgänge
Ausführungspläne analysieren und interpretieren
- Methoden zur Anzeige von Ausführungsplänen (inkl. DBMS_XPLAN)
- Praktische Interpretation von Plänen: Kosten, Selektivität, Kardinalität
- Workshop: Pläne beobachten und interpretieren
- Zugriffspfad einer Einzeltabelle bestimmen
- Join-Reihenfolge und Join-Methode bei Multitable-Abfragen bestimmen
- Selektivität, Kardinalität und Kosten ermitteln
- Parse-Bäume aus Ausführungsplänen ableiten
Praktisches SQL-Tuning und Werkzeuge
- Einsatz des SQL Tuning Advisor und Analyse von Statistiken
- Wann Table Scans sinnvoll sind: Einsatz und Wirkung von Operatoren und Indizes
- Dynamisches Sampling, Prädikatreduzierung und analytische Funktionen zur Performance-Verbesserung
- Workshop: SQL Tracing und Tuning
- Ineffizientes SQL finden und optimieren
- Reihenfolge und Art von Joins korrigieren: Bind-Variablen richtig verwenden
- Bind-Variablen-Peeking, Adaptive Cursor Sharing, Cursor Sharing optimieren
End-to-End-Tracing und Werkzeugnutzung
- Anwendungs-Tracing: EM, DBMS_MONITOR, SQL Trace, TKPROF
- Workshop: End-to-End-Tracing und Tuning von Anwendungen
- Alternativen und Implementierungsentscheidungen abwägen
Vertiefung: Optimizer-Decisions, Hints und Profile
- Tracing von Optimizer-Aktivitäten: Interpretation von Trace-Ausgaben (inkl. 10053)
- Einsatz und Grenzen von Optimizer-Hints: Situationen, in denen Hints sinnvoll sind
- SQL-Profile und das Aufsuchen besserer Pläne mit Profilen
- Workshop: Hints und Profil-Einsatz
- Nachweis, warum gewünschte Pläne nicht gewählt werden
- Hints verwenden, um alternative Pläne zu validieren
Problemanalyse und Korrekturmaßnahmen
- Typische Ursachen nach Anwendungs Upgrades: gezieltes SQL Tracing (DBMS_MONITOR)
- Identifikation von Problemen, die DBA-Maßnahmen erfordern
- Prüfung und Umsetzung von Korrekturmaßnahmen
Performanceorientierte Entwicklung und weiterführende Methoden
- Häufige Ursachen schlechter DB Performance: entwicklungsorientierte Best Practices
- Weitere Tuning-Methoden: Partition Pruning, Materialized Views, Parallel Query Optimierung, SQL Tuning Sets
- Workshop: Weitere Methoden in der Praxis
- Partitionen, Parallelisierung von Abfragen, Echtzeit-Monitoring der SQL-Ausführung
Zielgruppe
DBA, Entwickler, Performance Analysten und Beratende in öffentlichen Einrichtungen.
Voraussetzungen
Mindestens 3 Monate Erfahrung mit Oracle SQL und/oder Kurs „Professioneller Einstieg in Oracle SQL“