Kurzbeschreibung
Auch wenn man mit Oracle Database 12c, 18c und 19c und der produktiv einsetzbaren Innovationsversion 21c ausgereifte Datenbank-Lösungen hat, ist das Thema bestmögliche Performance und optimale Leistungsfähigkeit kein Automatismus.
Mit zunehmender Komplexität und Datenmenge werden manche Verarbeitungsprozesse langsamer als erwartet und vom Anwender akzeptiert. Für den (Datenbank-) Entwickler stellt sich die Frage:
Was kann ich als Entwickler beeinflussen, um bestmögliche, performante Ergebnisse mit Oracle Datenbanken zu erzielen und auf Dauer zu gewährleisten?
Es gilt performanceorientierte Konzeptionen (performance by design) in der Anwendungsentwicklung zu beachten, Aktivitäten in der Datenbank genauer zu analysieren, um Engpässe zu erkennen, Durchsatz zu steuern und System- und Ressourcennutzung zu optimieren.
Hier setzt die Schulung für Performanceoptimierung und Monitoring für Oracle an. Sie vermittelt insbesondere Entwicklern, aber auch Datenbankadministratoren (DBA) und Datenbankspezialisten wichtiges tiefergehendes Wissen zu Datenbank-Performance, zu den Eigenheiten produktspezifischer Datebankkonzepte und best practice Umsetzungserfahrungen, wie eine Applikation besser mit der Datenbank zusammenarbeiten kann..
Schulungseinstieg sind generelle Grundlagen zu Datenbank-Performance sowie die Instrumentierung, d.h. wie man mit der Einbindung von zusätzlichem Codes die Datenbankleistungsfähigkeit sichtbar und überprüfbar machen kann. Der sogenannte Oracle Optimizer, Bestandteil der Datenbank, generiert aus SQL ausführbahren Code. Damit werden programmatisch Regelwerke befolgt und Ausführungspläne erstellt. An Hand von praxisbezogenen Fallbeispielen werden wichtige Funktionsprinzipien des Optimizers vermittelt. Aber auch bekannte Fehlanwendungen und warum diese so nicht funktionieren können, werden thematisiert. Mit dem richtigen Erstellen von Statistiken, können Entscheidungen des Optimizers verbessert werden. Dort wo Statistiken nicht weiterhelfen, werden alternative Möglichkeiten erläutert, den Optimizer in seiner Entscheidungshilfe zu unterstützen. Ausführlich wird auf das Thema "Ausführungspläne richtig lesen und verstehen" eingegangen. Sie bilden eine wichtige Grundlage, um Entscheidungen des Optimiziers korrekt einschätzen zu können.
Beim Thema Hints werden entscheidende Grundlagen erläutert, wie der Oracle Optimizer intern Abfragen verarbeitet. Es wird erklärt, warum es "gute" und böse" Hints gibt und welche Hints zu welcher Kategorie gehören. Es werden Optionen aufgezeigt, wie mt Ihnen die Ausführung komplexer SQL-Abfragen verbessert werden kann.
Bind-Variblen sind dynamische Platzhalter in SQLs und werden oft als notwendig für gute Performance dargestellt. Der Themenblock zeigt auf, welche Probleme mit Bind-Variablen auftreten können - häufig im Zusammenhang mit statischem SQL in PL/SQL Code. Eine Erklärung, warum und wann der Einsatz von Literalen anstelle von Platzhaltern sinnvoll sein kann, rundet dieses Thema ab.
Der Datenbankindex, oder kurz Index bzw. Indizes ist eine von der Datenstruktur getrennte Indexstruktur, mit deren Hilfe Abfragen performancetechnisch gesteigert werden können. Es kursieren in diesem Bereich einige Fehlannahmen, auf was bei der Erstellung von Indizes geachtet werden soll. Anhand von zahlreichen Beispielen wird erläutert, welche Kriterien tatsächlich relevant sind bei der Indizierung und wie man Indizes effizienter zum Einsatz bringen kann.
Anbindend an das Thema wird auf Clustering eingegangen und was unter dem Begriff zu verstehen ist. Neuere Oracle Versionen bieten hier mit Attribute Clustering und Zonemaps insbesondere für den Data Warehouse Bereich interessante neue Features. Aber auch die von Oracle schon länger zur Verfügung gestellten, alternativen Speicherformen Index Organized und Cluster als Alternative zu Heap Speicherform bieten sehr interessante Möglichkeiten der Performance Optimierung, die viel zu selten in der Praxis genutzt werden.
Voraussetzungen
• Grundlegendes Verständnis der Oracle Architektur
• Solide Oracle SQL Kenntnisse
Seminarinhalt
Grundlagen von Performance Tuning und Performance Monitoring
• Was ist Performance?
• Wie wird Perfomance gemessen?
Anforderung an Applikationen
• Instrumentierung - Ergänzung von Code, um Softwareverhalten zu untersuchen
Werkzeuge der Oracle Datenbank für Performance Monitoring
• AWR - Automatic Workload Repository
• Statspack
• Session Statistic
• SQL Trace
• Row Source Statistics
• Active Session History
• Real Time SQL Monitoring
Oracle Optimizer für kostenbasiertes Optimieren
• Grundlagen und Berechnungsprinzipien des Oracle Optimizer
• Hauptfaktoren zur Beeinflussung (Histogramme, Statistiken Histogramme einschließlich New Features von Oracle 12c/18c/19c)
• Häufige Fehler und Verständnis für Ursachen fehlerhafter Berechnungen
• Optimierung von Berechnungen und Vorgehensweisen bei nicht trivial verbesserungsmöglichen Berechnungen
• Richtige Interpretation von (seriellen) Ausführungsplänen des Oracle Optimizers
• Optional: Parallele Ausführungspläne des Oracle Optimizers
Indizierung als Methodik zur Optimierung der Geschwindigkeit des Datenabrufs
• Was macht eine gute Indizierung aus (Indizes)?
Clustering - Optimierung durch Gruppierung
• Grundverständnis für Clustering
• Einfluss von Clustering auf Performance
• Einsatzmöglichkeiten und Beeinflussungsoptionen als Entwickler (Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster)
Optimierung mit Bind Variablen und Literalen
• Grundsätzliche Idee
• Vor- und Nachteile von Bind Variablen, Literalen, insbesondere im Zusammenhang mit ungleichmäßiger Datenverteilung
Hints
• Wichtiges Grundlagenverständnis zur Verarbeitung von Abfragen durch den Optimizer (Abfrageblöcke, Transformation)
• Hints korrekt anwenden
• Sinnvoller Einsatz von Hints. Welche werden empfohlen und welche nicht
Zielgruppen
Diese Schulung richtet sich insbesondere an Anwendungsentwickler und Datenbankentwickler.
Interessant könnte die Schulung auch sein für Oracle Datenbankadministratoren (Oracle DBA) und andere Datenbank-Spezialisten.
Preise und Termine
Firmenschulung
Eine Firmenschulung bei Ihnen vor Ort, in einem Schulungszentrum oder virtuell.
(Zertifizierung)
Software
• Diese Schulung ist optimiert auf die Oracle Database der Langzeitversionen 19c /18c / 12c sowie der aktuellsten Innovationsversion Oracle Database 21c.
benötigte Raumausstattung beim Kunden
• Internet
• Beamer
• Flipchart
Seminarsprache
die Seminarsprache ist deutsch, sofern keine andere Angabe. Englisch ist in aller Regel machbar, andere Seminarsprachen sind möglich, fragen Sie bitte an.