Oracle Database 11g: SQL Tuning Workshop (D52163) – Details

Detaillierter Kursinhalt

Architektur der Oracle-Datenbank
  • Architektur des Oracle-Datenbankservers – Überblick
  • Bei Datenbankinstanzen anmelden
  • Physische Struktur
  • Oracle-Datenbank – Memory-Strukturen – Überblick
  • Automatic Shared Memory Management
  • Automatische Verwaltung des SQL-Ausführungsspeichers
  • Datenbank-Storage-Architektur, logische und physikalische Datenbankstrukturen
  • Segmente, Extents und Blöcke sowie die Tablespaces SYSTEM und SYSAUX
SQL-Tuning – Einführung
  • Gründe für ineffiziente SQL-Performance
  • Lösungen für die Performanceüberwachung
  • Überwachungs- und Tuning-Tools – Überblick
  • Tuning-Dimensionen zu CPU- und Wartezeit
  • Skalierbarkeit hinsichtlich Design, Implementierung und Konfiguration von Anwendungen
  • Häufige Fehler in Kundensystemen und proaktive Tuning-Methode
  • Einfaches Anwendungsdesign
  • Datenmodellierung, Tabellendesign, Indexdesign, Views, effiziente SQL-Ausführung, SQL*Plus und SQL – Überblick
Optimizer – Einführung
  • Strukturierte Abfragesprache
  • SQL-Anweisungen parsen – Überblick
  • Warum ist ein Optimizer erforderlich?
  • Optimierung bei Hard Parse-Vorgängen
  • Transformer und Estimator
  • Kostenbasierter Optimizer
  • Plan Generator
  • Optimizer-Verhalten steuern, Optimizer-Features und Oracle Database Releases
Ausführungspläne interpretieren
  • Was ist ein Ausführungsplan? Speicherort der Ausführungspläne und Ausführungspläne anzeigen
  • Plantabelle und AUTOTRACE
  • ViewV$SQL_PLAN
  • Automatic Workload Repository (AWR)
  • SQL-Überwachung – Überblick
  • Ausführungspläne interpretieren
  • Kompliziertere Ausführungspläne lesen und Ausführungspläne prüfen
  • Ausführungspläne – Der nächste Schritt
Anwendungs-Tracing
  • End-to-End Tracing von Anwendungen – Herausforderungen
  • Verzeichnis für Diagnose-Traces
  • Was ist ein Service? Services mit Clientanwendungen verwenden und Tracing Services
  • Service Tracing mit Enterprise Manager
  • Tracing auf Sessionebene – Beispiel
  • Utility trcsess und Inhalt der SQL-Trace-Datei
  • Utility tkprof aufrufen und Ausgabe des Befehls tkprof
  • Ausgabe von tkprof mit und ohne Index – Beispiel
Optimizer – Tabellen- und Indexvorgänge
  • Zeilenquellenvorgänge, Hauptstrukturen und Zugriffspfade
  • Full Table Scans
  • Indizes – Überblick und B*-Baumindizes und NULL-Werte
  • Indizes verwenden – NULL-geeignete Spalten berücksichtigen
  • Indexorganisierte Tabellen
  • Bitmap-Indizes, Bitmap-Vorgänge und Bitmap Join-Indizes
  • Zusammengesetzte Indizes und unsichtbarer Index
  • Richtlinien für das Verwalten von Indizes und Indexverwendung untersuchen
Optimizer-Join-Methoden
  • Nested Loops Joins
  • Nested Loops Joins – 11g-Implementierung
  • Sort Merge Joins
  • Hash Joins und kartesische Joins
  • Equijoins und Nonequijoins
  • Outer Joins
  • Semijoins
  • Antijoins
Optimizer – Weitere Operatoren
  • Wann sind Cluster nützlich?
  • Sortieroperatoren und Operator BUFFER SORT
  • Operator INLIST ITERATOR und VIEW
  • Operator COUNT STOPKEY
  • Operatoren MIN/MAX und FIRST ROW und andere N-Array-Vorgänge
  • Filtervorgänge und CONCATENATION-Vorgänge
  • UNION [ALL], INTERSECT, MINUS
  • Operator RESULT CACHE
Fallbeispiel: Star-Transformation
  • Star-Schemamodell und Snowflake-Schemamodell
  • Star-Transformation
  • Faktenzeilen aus einer Dimension und aus allen Dimensionen abrufen
  • Zwischenergebnismenge mit Dimensionen verknüpfen
  • Star-Transformationsplan – Beispiele
  • Star-Transformations-Hints
  • Bitmap Join-Indizes
  • Bitmap Join-Indizes – Join-Modell 1 bis 4
Optimizer-Statistiken
  • Optimizer-Statistiken – Typen
  • Tabellen-, Index- und Spaltenstatistiken
  • Index-Clustering-Faktor
  • Histogramme, wertebasierte Histogramme und Histogramme – Überlegungen
  • Statistiken für mehrere Spalten und Ausdrucksstatistiken – Überblick
  • Systemstatistiken sammeln und Statistikvoreinstellungen
  • Manuelle Statistiksammlung
  • Statistiken sperren, Statistiken exportieren/importieren und Statistiken einstellen
Bind-Variablen
  • Cursor Sharing und verschiedene Literalwerte
  • Cursor Sharing und Bind-Variablen
  • Bind-Variablen-Peeking
  • Cursor Sharing – Weiterentwicklung
  • Parameter CURSOR_SHARING
  • Cursor Sharing erzwingen
  • Adaptive Cursor Sharing
  • Mit Adaptive Cursor Sharing interagieren
SQL Tuning Advisor verwenden
  • SQL-Anweisungen automatisch optimieren
  • Anwendungs-Tuning – Herausforderungen
  • SQL Tuning Advisor – Überblick
  • Veraltete oder fehlende Objektstatistiken und SQL-Anweisungsprofile
  • Ablauf des Plan-Tunings und SQL-Profilerstellung
  • SQL-Tuning-Schleife, Zugriffspfadanalyse und SQL-Strukturanalyse
  • Database Control und SQL Tuning Advisor
  • Empfehlungen implementieren
SQL Access Advisor verwenden
  • SQL Access Advisor – Überblick
  • Mögliche Empfehlungen
  • SQL Access Advisor-Session – Ausgangsoptionen
  • SQL Access Advisor – Seite "Workload Source"
  • SQL Access Advisor – Seite "Recommendation Options"
  • SQL Access Advisor – Seiten "Schedule" und "Review"
  • SQL Access Advisor – Seite "Results"
  • SQL Access Advisor – Ergebnisse und Implementierung
Automatisches SQL-Tuning
  • SQL-Tuning-Schleife
  • Automatisches SQL-Tuning
  • Automatischer Tuning-Prozess
  • Automatisches SQL-Tuning konfigurieren
  • Automatisches SQL-Tuning – Ergebniszusammenfassung
  • Automatisches SQL-Tuning – Ergebnisdetails
  • Automatisches SQL-Tuning – Ergebnisdetails: Drill Down
  • Überlegungen zum automatischen SQL-Tuning
SQL-Performance-Management
  • SQL-Performance beibehalten und SQL Plan Management – Überblick
  • SQL-Plan-Baseline – Architektur
  • Wichtige SQL-Planattribute in Baselines
  • SQL-Planauswahl
  • Mögliche Szenarios für die SQL-Plan-Manageability
  • Szenario für SQL Performance Analyzer und SQL-Plan-Baseline
  • SQL-Plan-Baselines automatisch laden und SQL Management Base-Policys löschen
  • Enterprise Manager und SQL-Plan-Baselines