Spezialist für Oracle Database 11g/12c/18c/19c (Oracle ACE Director Alumni, 2011-2016), Oracle Database Performance Troubleshooting + Tuning
Aktualisiert am 11.06.2024
Profil
Referenzen (7)
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.07.2024
Verfügbar zu: 50%
davon vor Ort: 100%
Oracle Datenbank
Performance-Tuning
Performance Analyse
SQL-Datenbanken
Performance
Deutsch
Muttersprache
Englisch
verhandlungssicher

Einsatzorte

Einsatzorte

Cochem (+75km) Bonn (+75km) Soest (+50km) Darmstadt (+75km) Homburg (Saar) (+50km) Tübingen (+100km) Titisee-Neustadt (+75km)
Österreich, Schweiz

Deutschland: Für längerfristige Einsätze vor Ort bevorzugt Bereich D6, Remote und kurzfristige Einsätze: beliebiger Einsatzort

möglich

Projekte

Projekte

1 Monat
2024-05 - 2024-05

Vortrag "Oracle Database Automatic Indexing"

Referent Oracle
Referent
Vortrag ?Oracle Database Automatic Indexing? auf der DOAG Datenbank Exaday 2024 Konferenz
Oracle
Oracle
Düsseldorf
9 Monate
2023-08 - 2024-04

Unterstützung Oracle Upgrades, Sicherheit und Performance

Berater Oracle Database
Berater
Eine selbst verwaltete Datenbank Infrastruktur bestehend aus über 40 Oracle Datenbanken unter Windows soll mittels automatischer Upgrades auf den aktuellen Release Update Stand von Oracle 19c gebracht werden ? je nach Sicherheitseinschätzung der von Oracle im Rahmen der ?Critical Patch Updates? gemeldeten Schwachstellen. Dazu soll evaluiert werden, ob das neue ?Autoupgrade? Tool von Oracle für eine Teilautomatisierung dieser Aufgabe eingesetzt werden kann. Das automatische Einspielen der Patches wird mittels Ansible / n8n und einem Powershell Skript implementiert. Darüber hinaus sollen eventuell auftretende Performance-Probleme analysiert und behoben werden
Oracle Database
Oracle Database
Münster, Westfalen
1 Monat
2024-03 - 2024-03

Oracle Datenbank 19c Migration Exadata nach Amazon RDS

Berater Oracle
Berater
Eine auf Exadata hin optimierte, bestehende Applikation soll auf Amazon RDS migriert werden. Dort zeigen sich bei ersten Tests signifikant längere Laufzeiten. Eine Analyse der Datenbankaktivitäten zeigt an, dass bestimmte Abfragen Full Table Scans auf großen Tabellen durchführen und durch die hohe Anzahl an gleichzeitiger Ausführung eine Überlastung der CPUs auf dem Datenbankserver verursacht wird. Verschiedene Ansätze und Lösungsstrategien wurden erarbeitet und werden jetzt in weiteren Tests untersucht.
Oracle
Oracle
Frankfurt am Main
1 Monat
2024-01 - 2024-01

Oracle Datenbank 19c Performance Troubleshooting

Berater Oracle
Berater
Sporadisch auftretende ?Hänger? in Form von sehr langen Antwortzeiten in einer Oracle 19c Datenbank führen zu ebenso sporadischen Ausfällen einer kritischen Inhouse Applikation. Die Analyse ergibt extrem lange Wartezeiten auf verschiedene Ereignisse, insbesondere ist I/O betroffen, sowohl beim Lesen von Blöcken als auch beim Schreiben durch den Logwriter oder DB Writer. Eine Fehlkonfiguration im Bereich des Netzwerks erklärt den hardwareseitigen Fehler, der zu den sporadischen Hängern im Storage Bereich führt. Darüber hinaus zeigt sich, dass verschiedene Datenbanken / Datenbank-Instanzen auf dem gleichen Host ausgeführt werden ? eine davon (nicht die direkt betroffene) ist seitens der Connection Pools der Applikation fragwürdig konfiguriert. Es werden tausende Verbindungen zur Datenbank aufgebaut und teilweise sind dadurch auch tausende Sessions gleichzeitig aktiv, je nach Lastprofil der Applikation. Nach Schwenk des Servers in ein anderes Rechenzentrum treten die Probleme im Bereich des Storages nicht mehr auf ? die Lastspitzen sind aber weiterhin problematisch. Eine Detailanalyse der Aktivitäten, die zu den Lastspitzen führen und Vorschläge, wie diese optimiert werden können, runden die initiale Analyse ab.
Oracle
Oracle
Frankfurt am Main
1 Monat
2023-12 - 2023-12

Vortrag "Gutes Index Design - eine praktische Anleitung" auf der IT Tage Konferenz 2023

Referent Oracle
Referent
Vortrag "Gutes Index Design - eine praktische Anleitung" auf der IT Tage Konferenz 2023
Oracle
Oracle
Frank
1 Monat
2023-12 - 2023-12

Migration Oracle 19c Data Warehouse von AIX nach Linux

Berater Oracle
Berater
Unterstützung bei der Planung einer Migration von AIX nach Linux für ein Data Warehouse auf Oracle 19c. Detaillierte Ausarbeitung der Zielkonfiguration und der Tests auf der neuen Plattform.
Oracle
Oracle
Frankfurt am Main
1 Monat
2023-11 - 2023-11

Vortrag "Gutes Index Design - eine praktische Anleitung" auf der DOAG Konferenz 2023

Referent Oracle Database
Referent
Vortrag "Gutes Index Design - eine praktische Anleitung" auf der DOAG Konferenz 2023
Oracle Database
Oracle Database
Nürnberg
1 Monat
2023-10 - 2023-10

Oracle Datenbank Workshop "Den kostenbasierten Optimizer verstehen"

Seminarleiter Oracle Datenbank
Seminarleiter
Workshop ?Den kostenbasierten Optimizer verstehen? ? grundlegende Prinzipien der Entscheidungsfindung des Optimizers, was kann schief gehen und wie stelle ich das fest, welche Möglichkeiten der Beeinflussung gibt es. Wie liest man Ausführungspläne richtig, wie generiert man Laufzeitprofile von SQL-Ausführungen und wertet diese aus. Wichtige Hinweise, auf was man bei der Statistikgenerierung für den Optimizer achten sollte. Clustering von Daten richtig verstehen und welche Möglichkeiten der Beeinflussung gibt es.
Oracle Datenbank
Oracle Datenbank
Frankfurt am Main
2 Monate
2023-09 - 2023-10

DOAG Expertenseminar ?Oracle Datenbank Indexing?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

In diesem Seminar werden die wichtigsten Themen bezüglich Indizierung mit B*Tree und Bitmap Indizes in der Oracle-Datenbank behandelt ? Text / XML / JSON / Domain-Indizes werden zwar je nach verfügbarer Zeit erwähnt und beschrieben, aber es wird nicht ausführlich darauf eingegangen ? der Schwerpunkt liegt eindeutig auf den B*Tree / Bitmap Indizes:

- Grundlagen: Wie ist ein B*Tree-Index aufgebaut, wie ein Bitmap-Index und welche Konsequenzen ergeben sich daraus? Wie verändert sich ein Index bei DML-Operationen und was ergibt sich daraus?

- Index Access, Filter und Clustering von Daten: Welche Operationen sind beim Index-Zugriff wann wie kostspielig? Warum wird der sogenannte Clustering Factor von Indizes häufig von der Datenbank falsch berechnet und was kann man dagegen machen? Warum kann ein Full Table Scan deutlich effizienter als ein Zugriff per Index sein? Indizes und der Optimizer - was wird bei der Kostenberechnung berücksichtigt, was nicht? OPTIMIZER_INDEX_COST_ADJ / OPTIMIZER_INDEX_CACHING, System Statistiken etc.

- Index Design: Auf was ist beim Design von Indizes zu achten? Was ist für die Reihenfolge von mehreren Ausdrücken in einem Index relevant? Wann ist ein Bitmap-Index sinnvoll? Was sind Function Based Indizes? Was sind virtuelle Spalten? Wie hängen diese Features zusammen und wann verwendet man welches dieser Features?

- Index Options: Invisible / Unusable / Virtual / Partial-Indizes. Primary Key / Unique / Deferred Constraints und Indizes.

- Index Compression: Wie funktioniert dieses Feature und was bringt es? Welche Auswirkungen gibt es? Unterschied zwischen Basic und Advanced Low / High Compression

- Indizes und DML: Was sind die Auswirkungen von Indizes bei DML-Operationen auf einer Tabelle? Typische Szenarien bei gleichzeitiger Veränderung von Tabellen und welche Maßnahmen hier helfen können - was sind die potentiellen Auswirkungen dieser Maßnahmen?

- Index Monitoring: Wie kann ich eine bestehende Applikation bezüglich der Indizierung überwachen und auf was ist dabei zu achten?

- Foreign Keys und Indizes: Wann sollten Foreign Keys indiziert sein, wann ist es nicht notwendig?

- Index Rebuild: Wann ist es sinnvoll, einen Index aktiv zu reorganisieren? Welche Möglichkeiten gibt es dafür und wie unterscheiden sie sich?
Oracle Database
Oracle Database
DOAG Dienstleistungen GmbH
Berlin
1 Monat
2023-07 - 2023-07

Oracle Community Yatra Tour (OCYatra) 2023 Indien

Referent Oracle Database
Referent
Als Teil der Vortragenden auf der Oracle Community Yatra Tour (OCYatra) 2023 haben wir sechs Städte (Chennai, Bangalore, Mumbai, Pune, Delhi, Hyderabad) in zwölf Tagen besucht und in jeder Stadt einen Konferenztag mit jeweils bis zu 400 Teilnehmern gestaltet. Ich habe pro Konferenztag drei Vorträge gehalten: Oracle 12c to 23c New Performance Features, Advanced Indexing und Advanced Oracle Troubleshooting.
Oracle Database
Oracle Database
AIOUG (All Indian Oracle User Group), Indien
Indien
1 Monat
2023-06 - 2023-06

Unterstützung Upgrade 11.2 nach 19c

Berater Oracle Database
Berater
Eine komplexe, weitgehend datenbankbasierte Applikation (große Mengen an PL/SQL Code) muss von Oracle Datenbank Version 11.2 auf 19c migriert werden. Unterstützung in unterschiedlichen Bereichen ? detaillierte Beschreibung von Verhaltensänderungen in 19c (zum Beispiel beim Einsatz von DBMS_JOB) als auch Performance-Analyse bei Regressionen.
Oracle Database
Oracle Database
Monheim, Schwaben
1 Monat
2023-05 - 2023-05

Erweiterung / Anpassung Anonymisierung ECommerce Applikation

Berater / Entwickler Oracle Database
Berater / Entwickler
Eine bereits vor zwei Jahren entwickelte Lösung zur performanten Anonymisierung von relationalen und unstrukturierten XML-Massendaten wurde gemäß Kundenwunsch angepasst und nochmals optimiert hinsichtlich Performance, da sich das Verhalten mit aktuellen Oracle Versionen (19c) im Vergleich zu früheren Versionen hinsichtlich Parallelisierung verändert hatte.
Oracle Database
Oracle Database
Düsseldorf
1 Monat
2023-04 - 2023-04

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Berater Oracle Exadata
Berater
Nur mit einer ganz bestimmten Kombination von Features tritt ein Langläufer Phänomen beim Sammeln von Statistiken auf ? dazu gehören HCC Kompression, Parallelität, Approximate NDV Statistikmodus, Offloading / Smart Scan, virtueller Spalte mit CPU-intensiver Berechnung (zum Beispiel STANDARD_HASH) und ein bestimmter Zustand der Zieltabelle nach DDL / Exchange Partition. Dann verlängert sich die Zeit für die Statistikerstellung signifikant um mehrere Faktoren ? im Grunde bringt die Parallelisierung in so einem Fall keine Zeitreduktion, da beliebig viel CPU-Zeit verbraucht wird und die Dauer entspricht dann einer seriellen Verarbeitung. Als erstes wurde ein Workaround entwickelt (ein CAST des originären Ausdrucks auf den gewünschten Datentyp verhindert das Problem), als zweites wurde an einem reproduzierbaren Testcase für den Oracle Support gearbeitet.
Oracle Exadata
Oracle Exadata
Frankfurt am Main
1 Monat
2023-03 - 2023-03

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Berater Oracle Exadata
Berater

Nach dem Installieren des Release Update 17 von 19c (RU 19.17) ist die gesamte Datenbank Performance sehr schlecht ? maßgeblich aufgrund sehr langsamen Transfer von Blöcken zwischen den RAC Instanzen ? anstatt durchschnittlich 400 µs pro übertragenem Block steigt dies auf fast 20.000 µs (!) an.

Eine Analyse zeigt, dass die LMS Hintergrund-Prozesse, die in RAC für die Übermittlung der Blöcke zuständig sind, fast permanent auf CPU Zeit verbringen, was vor der Installation des RUs nicht der Fall war. Ein CPU Profiling zeigt an, dass die Prozesse die gesamte Zeit beim Suchen im ?gcs resource table? verbringen, was darauf hinweist, dass etwas mit der Verwaltung dieser Tabelle im Speicher (Effiziente Aufteilung in ?Hash Buckets?) nicht stimmt ? es gab in der Vergangenheit schon ähnliche Bugs in dem Bereich. Nach Rücksprache mit Oracle Support und Einspielen entsprechender Bug Fixes ist das Problem gelöst.
Oracle Exadata
Oracle Exadata
Berlin
1 Monat
2023-02 - 2023-02

Individual Workshop ?Oracle Database Indexing?

Seminarleiter Oracle Database
Seminarleiter

In diesem Seminar werden die wichtigsten Themen bezüglich Indizierung mit B*Tree und Bitmap Indizes in der Oracle Datenbank behandelt:

- Grundlagen: Wie ist ein B*Tree Index aufgebaut, wie ein Bitmap Index und welche Konsequenzen ergeben sich daraus? Wie verändert sich ein Index bei DML Operationen und was ergibt sich daraus?

- Index Access, Filter und Clustering von Daten: Welche Operationen sind beim Index-Zugriff wann wie kostspielig? Warum wird der sogenannte Clustering Factor von Indizes häufig falsch berechnet von der Datenbank und was kann man dagegen machen? Warum kann ein Full Table Scan deutlich effizienter als ein Zugriff per Index sein? Indizes und der Optimizer ? was wird bei der Kostenberechnung berücksichtigt, was nicht? OPTIMIZER_INDEX_COST_ADJ / OPTIMIZER_INDEX_CACHING, System Statistiken etc.

- Index Design: Auf was ist beim Design von Indizes zu achten? Was ist für die Reihenfolge von mehreren Ausdrücken in einem Index relevant? Wann ist ein Bitmap Index sinnvoll?

- Index Compression: Wie funktioniert dieses Feature und was bringt es? Welche Auswirkungen gibt es? Unterschied zwischen Basic und Advanced Low / High Compression
Oracle Database
Oracle Database
Saarbrücken
1 Monat
2023-01 - 2023-01

Datawarehouse Performance Beratung

Berater Oracle Database
Berater
Optimierung hochkomplexer SQLs als Teil der Beladungsstrecken einer neuen Data Warehouse Umgebung. Diese verwendet eine doppelt temporale Speicherung der Daten (technische und fachliche Gültigkeiten), was die Komplexität und auch die zu verarbeitenden Datenmengen entsprechend erhöht. Die Überwachung dieser SQLs funktioniert mit Oracle Bordmitteln nicht richtig, da die SQLs zu lange laufen (mehrere Stunden) und die Ausführungspläne so komplex sind (teilweise mehr als 1000 Operationen), dass das eingebaute Real-Time SQL Monitoring der Datenbank nur unvollständige Berichte generiert. Die Implementierung einer automatisierten, eigenen Logik, bei der zum Einen die unvollständigen Berichte regelmäßig in einer Tabelle abgespeichert werden und zum Anderen diese Menge an unvollständigen Berichten dann wieder zu einem einzelnen, vollständigen Bericht zusammengesetzt werden, erlaubt eine effiziente Analyse dieser mittels der Parallelverarbeitungsoption ausgeführten SQLs und eine entsprechende Optimierung. Eine Reduktion der Laufzeiten um 50% oder mehr dieser komplexen SQLs konnte damit erreicht werden.
Oracle Database
Oracle Database
Wiesbaden
3 Monate
2022-11 - 2023-01

Individual Workshop Oracle Datenbank Performance

Berater Oracle Database
Berater

Unterstützung beim Testen unterschiedlicher Partitionierungsstrategien im Data Warehouse Umfeld, korrektes Aufsetzen der Testumgebung / Daten / Statistiken. Auswertung der Ausführungspläne / Performance / Vergleich zwischen alter und neuer Strategie

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2022-12 - 2022-12

Vortrag auf den IT Tagen 2022

Referent Oracle Database
Referent

Vortrag ?Kostenlos! Die am wenigsten benutzten Performance Features der Oracle Datenbank? auf den IT Tagen 2022

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2022-12 - 2022-12

Individual Workshop ?Database Performance: Hands On?

Seminarleiter Oracle Database
Seminarleiter

Einführung in die systematische Analyse und Verbesserung von Oracle Datenbank Performance. Kennenlernen und Üben verschiedener Werkzeuge wie SQL Trace, Rowsource Statistiken, AWR / ADDM / Statspack, SQL Monitoring, korrektes Lesen und Verstehen von Ausführungsplänen etc.

Oracle Database
Oracle Database
Saarbrücken
3 Monate
2022-10 - 2022-12

Unterstützung Migration Oracle Datenbank

Berater Oracle Database
Berater

Unterstützung bei der Vorbereitung und Durchführung der Migration einer bestehenden Logistik Software von Oracle 11.2.0.4 auf Oracle 19c.

Oracle Database
Oracle Database
Frankenthal (Pfalz)
1 Monat
2022-10 - 2022-10

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Berater Oracle Database
Berater

Nach dem Installieren des Release Update 15 von 19c (RU 19.15) gibt es Laufzeitprobleme mit Tableau Berichten ? Ausführungspläne verwenden Indizes und Nested Loop Joins obwohl diese Indizes als ?INVISIBLE? markiert sind, was zu sehr langen Laufzeiten führt.

Eine Analyse ergibt, dass Auslöser der Probleme sehr schlechte Abschätzungen auf bestimmten, kleinen Dimensionstabellen sind. Diese werden vom Optimizer so abgeschätzt, dass die angewendeten Filter keine Daten zurückliefern, was grob falsch ist. Der Grund für die falsche Abschätzung ist das ?Dynamic Sampling? Feature der Datenbank und der Zustand dieser kleinen Tabellen, die viel mehr Platz allokieren als sie eigentlich müssten / sollten, was dazu führt, dass das ?Dynamic Sampling? nicht gut funktioniert (das Sampling greift nur auf leere Blöcke zu, wenn man Pech hat, da das Segment so viele leere Blöcke beinhaltet) und daher die Abschätzungen so negativ beeinflusst.

Die ?INVISIBLE? Indizes kommen nur daher zum Zuge, da bestimmte Views den Hint ?USE_INVISIBLE_INDEXES? beinhalten ? aber auch ohne Verwendung dieser Indizes sind die Ausführungspläne aufgrund der schlechten Abschätzungen ineffizient.

Eine Reorganisation der betroffenen Tabellen löst das Problem ? Hinweise werden noch zur Verfügung gestellt, wie das Problem in Zukunft vermieden werden könnte, indem die Tabellen auf eine andere Art und Weise gepflegt werden (Vermeiden der Kombination aus Updates auf komprimierten Daten, Deletes und Insert APPEND). 
Oracle Database
Oracle Database
Berlin
1 Monat
2022-09 - 2022-09

Vortrag ?Kostenlos! Die am wenigsten benutzten Performance Features der Oracle Datenbank? auf der DOAG Konferenz 2022

Referent Oracle Database Performance Tuning
Referent

Vortrag ?Kostenlos! Die am wenigsten benutzten Performance Features der Oracle Datenbank? auf der DOAG Konferenz 2022

Oracle Database
Oracle Database Performance Tuning
Nürnberg
4 Monate
2022-06 - 2022-09

Beratung Entwicklung Archivierungslösung Exadata

Berater Oracle Database Oracle Exadata
Berater

Eine Bank möchte eine Inhouse Lösung zur Archivierung von Applikationsdaten entwerfen, die die Daten in einer Oracle Datenbank auf Exadata mit ZFS Storage speichert. Es soll den Applikationen ein generisches Datenbank-Interface zur Verfügung gestellt werden, das die Archivierung von Oracle Tabellen revisionssicher ermöglicht. Dazu werden verschiedene Oracle Datenbank Features wie ?Immutable Tables? und ?Database Vault? evaluiert.

Oracle Database Oracle Exadata
Oracle Database Oracle Exadata
Frankfurt am Main
1 Monat
2022-06 - 2022-06

Exadata Workshop

Seminarleiter Oracle Database
Seminarleiter

Ausführliche Beschreibung. Demonstration und Diskussion der Oracle Exadata Database Machine in Form eines individuellen Workshops ? Aufbau, Features (Storage Cells, Smart Scans, Flash Cache, Persistent Memory, RoCE, Hybrid Columnar Compression etc.), wann profitiert man von den speziellen Exadata Features, detaillierter technischer Hintergrund, wie die diese Features funktionieren und wie deren Einsatz analysiert und gemessen werden kann.

Oracle Database
Oracle Database
Oberhausen (D-46049, D-46047, D-46117, D-46119, D-46149, D-46147, D-46045, D-46145)
1 Monat
2022-05 - 2022-05

DOAG Expertenseminar ?Database Performance: Hands On?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

In diesem Workshop Oracle Database Performance: Hands-on lernen wir anhand verschiedener praktischer Beispiele unterschiedliche Techniken kennen, mit denen Performance in der Datenbank im Detail analysiert werden kann. Es geht dabei um die Antwort auf die Frage, womit die Zeit in der Datenbank verbracht wird und wie dies gemessen werden kann.

 

Die Teilnehmer führen die Schritte unter Anleitung des Seminarleiters in ihrer eigenen oder einer vorbereiteten Datenbank durch und bekommen dadurch praktische Erfahrung, wie die jeweiligen Techniken funktionieren und was es bei der Anwendung zu beachten gilt.

Oracle Database
Oracle Database
DOAG
Berlin
3 Monate
2022-02 - 2022-04

Performance Optimierung Oracle 19c (Exadata)

Performance Troubleshooting Spezialist Oracle Database
Performance Troubleshooting Spezialist

Eine hauseigene Applikation soll auf Exadata migriert werden. Auf der Exadata Umgebung laufen jedoch einfache Updates und Inserts deutlich langsamer als auf den nicht-Exadata Umgebungen. Eine genauere Analyse ergibt, dass hier ?Flashback Database Archive (FBDA)? zum Einsatz kommt und die Verzögerungen hauptsächlich durch die rekursiven Aktivitäten von FBDA verursacht werden. Die Symptome, validiert durch einen SQL Trace, entsprechenden denen im Bug "Bug 31201192 - Hang with 'fbar timer'<='enq: tx - contention' (Doc ID 31201192.8)" beschriebenen. Dem Kunden wird nahegelegt, den verfügbaren Patch als ?Backport? für die eingesetzte Version von Oracle 19c bei Oracle Support zu beantragen.

Desweiteren laufen auf der Exadata bestimmte Import-Prozesse, bei denen aus Applikationssicht nur einfache Batch-Inserts durchgeführt werden, auf der Exadata sehr langsam. Eine Analyse zeigt, dass die Datenbank sich damit beschäftigt, tausende von Child Cursorn für diese Inserts zu erzeugen / zu verwalten. Das Grundproblem besteht in der Verwendung von falschen Datentypen beim Binden von Bind-Variablen von Applikationsseite. Nach Korrektur der Datentypen laufen die Inserts um Faktor 1000 schneller und die Anzahl der Child Cursor reduziert sich auf wenige einzelne.

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2022-03 - 2022-03

Individual Workshop ?Datenbank Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Workshop ?Datenbank Performance für Entwickler? ? Beschreibung:

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um effektiver mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt, eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

Kursinhalte:

-        Instrumentierung

-        Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring

-        Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)

-        (serielle) Ausführungspläne richtig lesen

-        Indizierung

-        Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster

-        Hints

-        Bind Variablen / Literale und ungleichmäßige Datenverteilung

-        Datenbank Links / Transaktionen / Locks

Oracle Database
Oracle Database
Monheim, Schwaben
1 Monat
2022-03 - 2022-03

Performance Optimierung Oracle 19c

Performance Troubleshooting Spezialist Oracle Database
Performance Troubleshooting Spezialist

Umstellung der internen Speichermethode von XML-Daten. Oracle verwendet eigentlich seit Version 11.2 intern die Speichermethode ?Binary XML? für XMLType Daten. Eine Software eines Drittherstellers verwendete jedoch explizit noch die Speichermethode ?CLOB?, was deutlich mehr Platz in der Datenbank belegt. Nach Abklärung mit dem Hersteller wurde ein Migrationskonzept mit automatisierter Umstellung von über 5.000 bestehenden Tabellen erstellt und auch umgesetzt, so dass innerhalb weniger Minuten diese Tabellen auf ?Binary XML? Speichermethode umgestellt wurden ? dazu wurde mittels Create Table As Select (CTAS) eine temporäre Kopie der jeweiligen Tabelle angelegt und die alte Tabelle entsprechend entfernt / ersetzt, automatisiert per Skript. Als Absicherung für den Fall, dass die Migration nicht erfolgreich ist oder nachfolgend Probleme in der Applikation auftreten, wurde die Original-Datenbank (Oracle 19c CDB/PDB Architektur) als PDB-Kopie erhalten.

Oracle Database
Oracle Database
Frankfurt am Main
3 Monate
2021-12 - 2022-02

Vortrag auf der All Indian Oracle User Group AIOUG Konferenz 2021 / 2022

Referent Oracle Database
Referent

Vortrag ?Oracle Database 21c New Performance Features? auf der Sangam 21 / All Indian Oracle User Group (AIOUG) 2022 Konferenz

Oracle Database
Oracle Database
Remote
2 Monate
2021-11 - 2021-12

Vorträge DOAG Konferenz 2021 und IT Tage 2021

Referent Oracle Database Perfomance Tuning
Referent
Vortrag ?Oracle Database 21c New Performance Tests? auf der DOAG Konferenz 2021 sowie den IT Tagen 2021
Oracle Database
Oracle Database Perfomance Tuning
Nürnberg
2 Monate
2021-11 - 2021-12

Performance Optimierung Oracle

Performance Troubleshooting Spezialist Oracle Database Performance Tuning
Performance Troubleshooting Spezialist

Abfragen in einem Data Warehouse verhalten sich unterschiedlich, je nachdem, wie auf die Partitionen der Daten zugegriffen wird. Bei Verwendung einer einzigen Partition sind die grundsätzlichen Abschätzungen des Optimizers so weit schlüssig, bei Zugriff auf mehrere Partitionen sind die Abschätzungen sehr schlecht. Es stellt sich heraus, dass durch die Verwendung von inkrementellen Statistiken ein Bug entsteht, der die Spaltenstatistiken des Partitionsschlüssels auf globaler Ebene verfälscht, so dass je nach Datenmenge pro Partition völlig falsche Annahmen seitens des Optimizers getroffen werden. Es werden verschiedene Lösungsmaßnahmen besprochen (unter anderem Verhinderung der Erzeugung eines Histogramms) und ein generischer Testcase für Oracle Support vorbereitet, um den Bug nachstellen zu können. 

Abfragen, die versuchen, auf bestimmte Partitionen dynamisch einzuschränken per Unterabfrage erreichen nur inkonsistentes Partition Pruning. Da der Kunde bereits auf Oracle 19c ist, wird dieses Problem mittels ?SQL Macros? adressiert, was erlaubt, den Partitionsschlüssel als Literal anzugeben und trotzdem dynamisch zu bestimmen.

Darüber hinaus gibt es noch Probleme mit bestimmten Transformationen seitens des Optimizers (?Group By Placement?), die zu schlechten Abschätzungen und als Folge zu ineffizienten Ausführungsplänen führen. Dies kann durch eine Parametereinstellung verhindert werden.

Oracle Database
Oracle Database Performance Tuning
Frankfurt am Main
1 Monat
2021-10 - 2021-10

DOAG Expertenseminar ?Datenbank-Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um effektiver mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

 

Kursinhalte: 

  • Instrumentierung
  • Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring
  • Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)
  •  (serielle) Ausführungspläne richtig lesen
  • Indizierung
  • Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster
  • Hints
  • Bind Variablen / Literale und ungleichmäßige Datenverteilung

Oracle Database
Oracle Database
DOAG
Berlin
1 Monat
2021-10 - 2021-10

Vorträge trivadis Performance Days

Sprecher Oracle Database
Sprecher

Vorträge im Rahmen der trivadis Performance Days 2021: ?Oracle Datenbank 21c New Performance Features? und ?Oracle Datenbank Indexing Myths?

Oracle Database
Oracle Database
Zürich
2 Monate
2021-09 - 2021-10

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Performance Troubleshooting Spezialist Oracle Database
Performance Troubleshooting Spezialist

Verschiedene mittels Tableau erzeugte Berichte schwanken stark in der Laufzeit. Es gilt zu ermitteln, ob die Schwankungen maßgeblich durch unterschiedliches Verhalten in der Datenbank verursacht werden oder es andere Gründe außerhalb der Datenbank gibt, wie zum Beispiel Netzwerk oder auch auf Applikationsebene (Tableau Reporting Plattform).

Eine Analyse ergibt, dass die Datenbank zwar teilweise an den unterschiedlichen Laufzeiten beteiligt ist, dies aber nur aufgrund unterschiedlicher Auslastung, aber nicht aufgrund unterschiedlicher Ausführungspläne oder anderer Gründe. Maßgeblich werden die Schwankungen durch die Reporting Plattform verursacht, die sehr stark unterschiedlich lange benötigt, um die bereits von der Datenbank zur Verfügung gestellten Daten abzuholen.

Oracle Database
Oracle Database
Berlin
1 Monat
2021-09 - 2021-09

Workshop ?Datenbank Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Workshop ?Datenbank Performance für Entwickler? ? Beschreibung:

 

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um effektiver mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt, eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

 

Kursinhalte:

  •  Instrumentierung
  • Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring
  •  Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)
  • (serielle) Ausführungspläne richtig lesen
  • Indizierung
  • Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster
  • Hints
  • Bind Variablen / Literale und ungleichmäßige Datenverteilung

Oracle Database
Oracle Database
Wiesbaden
1 Monat
2021-08 - 2021-08

Oracle / MySQL Datenbank Performance Troubleshooting

Performance Troubleshooting Spezialist Performance Troubleshooting
Performance Troubleshooting Spezialist

Der Export von historischen Daten ist bei einer Standardsoftware sehr langsam, da SQLs pro Datensatz ausgeführt werden, und pro Ausführung mehrere Sekunden an Laufzeit entstehen. Unter MySQL ist die Ausführung nochmal deutlich langsamer als unter Oracle. Eine detaillierte Analyse zeigt, dass die Datenbanken aufgrund der Art und Weise, wie das SQL geschrieben ist, nicht in der Lage sind, die Historie nur für die in Frage kommenden Datensätze zu ermitteln, sondern jeweils die komplette Datenmenge mehrfach pro SQL-Ausführung verarbeiten.

Durch Umformulierung der SQLs (mittels Verwendung von LATERAL Views) wird sowohl Oracle als auch MySQL in die Lage versetzt, die Historie nur für die relevanten Datensätze zu ermitteln, was einer Performance-Steigerung von Faktor 1000 entspricht, da jetzt nur noch wenige Millisekunden für eine einzelne Ausführung benötigt werden, anstatt mehrerer Sekunden.

Oracle Database MySQL
Performance Troubleshooting
Mainz
1 Monat
2021-08 - 2021-08

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist
Eine Software verwendet weitgehend noch den Rule Based Optimizer (RBO), der allerdings bei einigen Abfragen schlechte Ausführungspläne produziert. Bei Verwendung des Cost Based Optimizers (CBO) gibt einige wenige SQLs, die wiederum deutlich langsamer sind als bei Verwendung des RBOs. Diese wurden detailliert analysiert und Vorschläge unterbreitet, wie sie ähnlich effizient wie mit dem RBO gestaltet werden können. Es stellte sich heraus, dass die Verwendung von außergewöhnlichen Konstrukten (skalare Unterabfrage in der ORDER BY Klausel) dazu führte, dass der CBO bestimmte Transformationen zur effizienten Umsetzung von OR Klauseln nicht anwendete. Die betroffenen Statements werden jetzt mit einer früheren CBO-Version (OPTIMIZER_FEATURES_ENABLE Hint) betrieben, die das Problem nicht hat und somit trotz Verwendung von skalarer Unterabfrage in der ORDER BY Klausel und OR-Klauseln einen effizienten Ausführungsplan generiert.
Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2021-07 - 2021-07

Individual Workshop ?Datenbank Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Individual Workshop „Datenbank Performance für Entwickler“ – inklusive Analyse von individuellen Problemfällen und Vorschlägen, wie diese verbessert werden können. Dazu noch Vorschläge, wie die Diagnosemöglichkeit von Applikationsseite verbessert werden kann, durch zum Beispiel selektives Aktivieren von SQL Trace und automatisiertes Einsammeln erweiterter Informationen bezüglich Ausführungsplänen.

Oracle Database
Oracle Database
Karlsruhe (Baden)
7 Monate
2021-01 - 2021-07

Anonymisierung ECommerce Applikation

Entwickler Oracle Database
Entwickler

Design und Umsetzung einer automatisierten Anonymisierung und Übertragung der Produktionsdatenbank in Testumgebungen. Die zu maskierenden Felder und die dafür verwendeten Regeln sind konfigurierbar über Metadaten, als auch die resultierende Datenmenge (zum Beispiel nur 10% des Originaldatenbestandes). Die Maskierung erfolgt performanceoptimiert über entsprechend automatisch mittels Metadaten generierte CTAS (Create Table As Select) Operationen, da die Laufzeiten durch die massive Verwendung von XML in der Datenbank eine wichtige Rolle spielen. Durch entsprechende Optimierung der CTAS Operationen kann die Laufzeit um Faktor 20 bis 40 erhöht werden und damit das Gesamtvolumen an zu maskierenden Daten in unter 24 Stunden verarbeitet werden trotz der komplexen Maskierungsregeln auf XML-Dokument Ebene. Für Bugs, die nach dem Oracle 19c Upgrade eine Verarbeitung aufgrund von PGA Speicherleaks und exzessiver TEMP Allokation unmöglich machten, wurde noch eine iterative Verarbeitung in Teilstücken implementiert, um die Probleme zu umgehen.

Oracle Database
Oracle Database
Düsseldorf
1 Monat
2021-06 - 2021-06

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting

In einer operativen Datenbank werden bestimmte Berichte erstellt, die eigentlich in einer Data Warehouse Umgebung erstellt werden sollen, derzeit aber nicht erstellt werden können.

 

Daher sind die Daten in der operativen Datenbank nicht für diese Art von Abfragen optimiert, was Schema Design, Partitionierung und Indizierung angeht.

 

Aufgrund der nur vorübergehenden Natur (die Berichte sollen dann in absehbarer Zukunft im Data Warehouse erstellt werden) sollen auch keine größeren Anpassungen / Änderungen an der operativen Datenbank durchgeführt werden.

 

Als Problem stellt sich der Zugriff auf eine größere Tabelle mit Milliarden von Zeilen dar. Durch eine entsprechende Indizierung kann der Tabellenzugriff komplett vermieden werden, was die Laufzeit der relevanten Berichte entsprechend verbessert und Langläufer im Stunden-Bereich verhindert.

 

Für einen bestimmten Bericht wurde die Generierung der Informationen von einem iterativen Schleifenansatz mit potenziell sehr vielen Wiederholungen auf ein einzelnes SQL umgestellt, das die Daten zuverlässig innerhalb weniger Minuten generiert, was für die Nachtverarbeitung völlig ausreichend ist. Der Schleifenansatz war im Gegensatz dazu schlecht vorhersehbar, was die Gesamtlaufzeit angeht und deutlich langsamer (im Stundenbereich)

Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2021-06 - 2021-06

DOAG Expertenseminar ?Parallel Execution Masterclass?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

 

- Wie lese ich einen Ausführungsplan richtig? Gibt es besondere Regeln für parallele Ausführungspläne? Und falls ja, wie sehen diese aus?

 

- Wie führt Oracle so einen Ausführungsplan zur Laufzeit aus?

 

- Was machen diese ganzen Operationen, die mit PX anfangen, in einem parallelen Ausführungsplan? Was sagen mir die zusätzlichen Spalten, die es nur in einem parallelen Ausführungsplan gibt?

 

- Wie funktioniert diese automatische parallele Ausführung von SQL Statements zur Laufzeit? Was wird parallelisiert, und wie wird die Arbeit automatisch aufgeteilt? Was kann dabei schiefgehen? Falls etwas schiefgeht, kann ich es beeinflussen, und falls ja, wie?

 

- Warum sind manchmal parallele Ausführungen nicht viel schneller als serielle, oder sogar langsamer, und warum verbrauchen parallele Ausführungen teilweise so viel mehr PGA-Speicher und/oder TEMP-Speicherplatz wie vergleichbare serielle Ausführungen?

 

- Wie kann ich eine SQL Statement-Ausführung analysieren, um zu verstehen, warum sie länger braucht als erwartet? Wie setze ich die Diagnostics- und Tuning-Pack License Features optimal in diesem Zusammenhang ein?

 

- Wie kann ich speziell parallele SQL-Ausführungen analysieren, um zu verstehen, ob Parallel Execution hier überhaupt effizient eingesetzt wird? Warum sind die für serielle Ausführungen bekannten Analyse-Methoden dafür größtenteils ungeeignet?

 

- Wie kann ich parallele Ausführungen schon beim physischen Datenbank-Design schneller machen?

 

- Welche neuen Parallel Execution Features sind in Oracle 12c dazugekommen?

 

Der Workshop vermittelt ausführliche Antworten zu diesen Fragen. Darüber hinaus bietet es Ihnen zu einem großen Teil exklusives Wissen, das von mir selbst erarbeitet wurde. Dieses Wissen werden Sie woanders - auch nicht in den offiziellen Unterlagen und Schulungen von Oracle - finden.

Oracle Database
Oracle Database
Berlin
1 Monat
2021-05 - 2021-05

Detailanalyse Feature Usage Standard Edition Lizenz

Technischer Berater Oracle Database
Technischer Berater

Ein Kunde überprüft die Angabe der "Feature Usage" in DBA_FEATURE_USAGE_STATISTICS als Vorbereitung für einen License Audit seitens Oracle. Obwohl der Kunde nur über eine "Standard Edition" Lizenz verfügt und sich an keine aktive und absichtliche Nutzung von Enterprise Edition Features erinnern kann, werden dort sowohl "Real Application Security" als auch "Adaptive Plans" als benutztes Feature angezeigt - welche beide als "Enterprise Edition" Features seitens Oracle geführt werden.

Eine detaillierte Analyse ergibt, dass beide Features bereits bei der Standard-Installation einer 12.2.0.1 Standard Edition als "in use" angezeigt werden, da Oracle entsprechende Objekte bereits in der "Template"-Datenbank mitliefert, die eine Nutzung von "Real Application Security" anzeigen, und auch fälschlicherweise den Parameter "OPTIMIZER_APAPTIVE_PLANS" auf "TRUE" setzt, obwohl dieses Feature in der "Standard Edition" überhaupt nicht zur Verfügung steht.

Insofern sollte der Kunde bezüglich eines Audits seitens Oracle hier auf der sicheren Seite sein.

Oracle Database
Oracle Database
Hamburg
4 Monate
2021-01 - 2021-04

Data Warehouse Upgrade 19c Troubleshooting (Exadata)

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Verschiedene Abfragen verlängern sich signifikant in der Laufzeit nach dem Upgrade von 18c auf 19c und dem Hochsetzen des Parameters OPTIMIZER_FEATURES_ENABLE von „11.2.0.4“ auf „19.1.0“. Detaillierte Analyse der unterschiedlichen Abfragen mit Vorschlägen, wie funktionierende Workarounds aussehen können. Weitere Probleme unterschiedlichster Natur treten auf, von Planregressionen bis hin zu ORA-Fehlermeldungen beim Parsen sowie falschen Ergebnissen. Unterstützung bei der Zusammenarbeit mit Oracle Support mittels Vorbereitung entsprechender generischer Test Cases. Entwicklung entsprechender Workarounds für die genannten Probleme.

Oracle Database
Oracle Database Performance Troubleshooting
Frankfurt am Main
2 Monate
2021-02 - 2021-03

Analyse Performance / Speicherbedarf nach Oracle 19c Upgrade

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Nach einem Upgrade von Oracle 12.1 auf 19c gibt es mehrere Performance Probleme sowie Abbrüche in der Verarbeitung aufgrund von unzureichendem PGA Speicher. 19c benötigt signifikant mehr PGA Speicher pro Prozess und die Applikation erzeugt über mehrere Knoten von Application Servern mehrere Connection Pools, was zu einer hohen Grundlast an Prozessen führt. Desweiteren kommt seit der Version 18c einer neuer Speicherbereich zum Einsatz - die sogenannte „MGA" – ein Zwitter aus privaten und geteiltem Speicher, da „Shared Memory“ bei Bedarf dynamisch allokiert und zwischen mehreren Prozessen geteilt wird. Diese zusätzliche Speicherkomponente macht insbesondere unter Solaris Probleme, da zur Laufzeit immer wieder Allokationsfehler und damit Abbrüche auftreten können.

Das MGA-Problem kann mittels einiger interner Parameter umgangen werden, um die neue Speicherallokation in dem MGA Bereich zu verhindern.
Durch die erhöhte PGA Allokation unter 19c ist auch eine Anpassung der Parameter PGA_AGGREGATE_TARGET und PGA_AGGREGATE_LIMIT angezeigt,dadieInstanzeffektivmehr PGA benötigt als per PGA_AGGREGATE_TARGET zugewiesen. Die Performance Probleme sind nach entsprechender PGA Parameteranpassung und Erhöhung des physisch zur Verfügung stehenden Speichers auf Host Ebene weitgehend gelöst – eine Übersicht der Top SQLs, die Potential für effizientere Ausführung haben, wurde zusätzlich geliefert sowie noch einige andere Fragen bezüglich Indizierung, Konfiguration Maintenance Windows, „Killed Sessions“ etc. beantwortet.

Oracle Database
Oracle Database Performance Troubleshooting
Frankfurt am Main
2 Monate
2020-11 - 2020-12

Vorträge DOAG 2020 und IT Tage 2020

Referent Oracle Database Performance Tuning
Referent

Vortrag „Oracle Database Performance Tuning: Back To Basics” in auf der DOAG Konferenz 2020 sowie den IT Tagen 2020

Oracle Database
Oracle Database Performance Tuning
Nürnberg
1 Monat
2020-11 - 2020-11

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Eine hoch frequent aufgerufene Schnittstellen-Funktion arbeitet mindestens 12 Sekunden pro Aufruf – häufig auch länger, was zu einer Warteschlange für die zu verarbeitenden Aufrufe führt. Teilweise müssen solche Aufrufe dann über 20 Minuten in der Warteschlange verbringen, was dann wiederum zu Timeouts in den aufrufenden Systemen führt. Durchschnittlich müssen Anfragen ca. 3 Minuten in der Warteschlange verbringen.

Eine Analyse zeigt, dass ein signifikanter Teil der Verarbeitungszeit in der Datenbank verbracht wird und dort vor allem ein SQL für die Laufzeit maßgeblich verantwortlich ist. Das SQL verwendet einen MINUS Operator, um ein Delta an einzufügenden Daten zu ermitteln. Da in der Zieltabelle Millionen von Datensätzen für diese Operation identifiziert werden und der MINUS Operator eine eindeutige Sortierung dieser Datenmenge benötigt, wird die Laufzeit für diese Sortieroperation maßgeblich über die zu sortierende Datenmenge bestimmt und kann daher nicht ohne weiteres optimiert werden. Leider akzeptiert die Datenbank nicht die automatische Umwandlung der MINUS SET Operation in einen Join (SET_TO_JOIN Transformation), was es erlaubt hätte, ohne Änderung des SQLs diese Umformulierung zu erreichen. Da das SQL aus einem PL/SQL Paket in der Datenbank stammt, ist eine semantisch äquivalente Umformulierung des SQLs von MINUS nach NOT EXISTS technisch möglich, ohne an anderem Quellcode der Applikation Änderungen vornehmen zu müssen. Daher wird dieser Weg eingeschlagen, nachdem mittels entsprechender Tests sichergestellt ist, dass das umformulierte SQL die gleichen Ergebnisse liefert. Da die andere Menge des MINUS Operators in den allermeisten Fällen sehr klein ist, kann der Optimizer aufgrund der Umwandlung des MINUS in einen Join effizientere Zugriffswege verwenden und vor allem die aufwändige Sortierung der großen Datenmenge vermeiden. Das umformulierte SQL benötigt nur noch ca. 3 bis 5 Sekunden zur Ausführung - nach Erzeugung eines geeigneten Index sinkt die Verarbeitungszeit auf Sekundenbruchteile.

Die durchschnittliche Wartezeit von Anfragen nach dieser Änderung sinkt von über 3 Minuten auf 2 Sekunden – Timeouts treten somit keine mehr auf und die allgemeine Verarbeitungsgeschwindigkeit steigt signifikant an.

Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2020-10 - 2020-10

Performance Analyse Applikation Upgrade Oracle 19c

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Performance Analyse der Datenbank-Aktivitäten einer komplexen Auswertungslogik implementiert in PL/SQL nach Upgrade auf Oracle 19c. Einige Abfragen haben sich seit der letzten Analyse im Januar verändert, so dass die vorherig vorgeschlagenen Indizes angepasst werden müssen. Durch Anpassung und Ergänzung geeigneter Indizes kann die Verarbeitungszeit von über 30 Minuten auch für die größten Auswertungen auf unter 10 Minuten reduziert werden, so dass jetzt alle Auswertungen erfolgreich zu Ende laufen und nicht länger als die Timeout-Grenze von 30 Minuten benötigen.

Oracle Database
Oracle Database Performance Troubleshooting
Stuttgart
1 Monat
2020-10 - 2020-10

Optimizer Workshop

Seminarleiter Oracle Database
Seminarleiter

Workshop „Den kostenbasierten Optimizer verstehen“ – grundlegende Prinzipien der Entscheidungsfindung des Optimizers, was kann schief gehen und wie stelle ich das fest, welche Möglichkeiten der Beeinflussung gibt es. Wie liest man Ausführungspläne richtig, wie generiert man Laufzeitprofile von SQL-Ausführungen und wertet diese aus. Wichtige Hinweise, auf was man bei der Statistikgenerierung für den Optimizer achten sollte. Clustering von Daten richtig verstehen und welche Möglichkeiten der Beeinflussung gibt es.

Oracle Database
Oracle Database
Merzig (Saar)
1 Monat
2020-09 - 2020-09

DOAG Expertenseminar ?Datenbank-Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar für die DOAG (Deutsche Anwender Oracle Gruppe) am 28. und 29.9. mit folgendem Inhalt:

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um bestmöglichst mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

 

Kursinhalte:

 

  • Instrumentierung
  • Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring
  • Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)
  • (serielle) Ausführungspläne richtig lesen
  • Indizierung
  • Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster
  • Hints
  • Bind Variablen / Literale und ungleichmäßige Datenverteilung
Oracle Database
Oracle Database
DOAG (Deutsche Oracle Anwender Gruppe) GmbH
Berlin / remote
1 Monat
2020-08 - 2020-08

Oracle Database Workshop ?12c/18c/19c New Features?

Seminarleiter Oracle Database
Seminarleiter

Individual Workshop über relevante neue Features der Oracle Datenbank aus Sicht von Datenbank-Entwicklern / Applikationen, die in den neuesten Versionen hinzugefügt wurden

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2020-07 - 2020-07

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Nach dem Upgrade von Oracle 12.2.0.1 nach 19c (19.6) einer Data Warehouse Datenbank war die Performance signifikant schlechter. In Testumgebungen ist der Effekt zuvor so nicht aufgetreten. Es handelt sich um eine zwei Knoten RAC Datenbank als PDB auf Exadata (X7-2). Eine Analyse ergab folgende Punkte:


- Verschiedene RAC spezifische Bugs, die zu Hängern im Bereich der Cluster Waits („gc“) geführt haben, bei denen SQL-Ausführungen zum Beispiel unendlich auf „gc current request“ gewartet haben. Als initialer Workaround wurde das „read-mostly“ RAC feature deaktiviert und nach Verfügbarkeit und Installation entsprechender One-Off Patches, die leider nicht Teil des eingesetzten RUs waren, traten die Hänger nicht mehr auf


- Ein anderer RAC spezifischer Bug, der zu regelmäßigen Crashes der Instanzen geführt hat, wurde auch durch Installation eines entsprechenden One-Off Patches behoben


- SmartScans funktionierten seit der Installation des Cell Firmware Upgrades nicht mehr, da alle Zellen im Database Level Quarantine Mode agierten aufgrund von drei Crashes innerhalb von drei Stunden. Die verursachende SQL-Operation wurde identifiziert und mittels der Analyse des Cell crash Trace Files wurde klar, dass das Problem mit dem Cell Columnar Flash Cache zusammenhängt. Als initialer Workaround wurde dieses Feature deaktiviert, was es erlaubt hat, die Database Level Quarantine zu entfernen ohne dass es zu weiteren Crashs auf Zellenebene kam. Oracle hatte den Bug in der Zwischenzeit auch identifiziert und in einer neueren Version der Firmware behoben, die dann auch installiert wurde.


- Inkrementelle Statistiken funktionierten nicht mehr nach dem 19c Upgrade, da 19c die von 12.2 generierten Synopsen nicht verarbeiten kann, weil ein PL/SQL Fehler in internen Paketen auftritt, was dazu führt, dass effektiv die globalen Statistiken immer neu berechnet wurden anstatt inkrementelle Statistiken zu verwenden. Bisher steht als Workaround nur zur Verfügung, die Synopsen komplett neu zu berechnen, was keine empfehlenswerte Operation bei einem Multi-Terabyte Data Warehouse ist


- Allgemein ist die Performance des RACs in Produktion maßgeblich beeinflusst von einer signifikanten Zunahme an Cluster bezogenen Warteereignissen, insbesondere beträgt die durchschnittliche Wartezeit 50 mal länger in Produktion (40 ms im Vergleich zu 800 μs) als in Testumgebungen bei vergleichbarer Arbeitslast. Die Root Cause Analyse für dieses unterschiedliche Verhalten ist noch ausstehend zum Zeitpunkt des Schreibens


- Unabhängig vom Upgrade zeigten einige Tabellen sehr merkwürdiges Verhalten in Bezug auf SmartScan Performance und Platzbedarf, was zu sehr schlechter Performance führt – mehr als 60 Sekunden für einen trivialen, parallelen SELECT COUNT(*) einer 20 GB Partition, der Millionen logische I/Os zusätzlich generiert und dadurch den CPU Verbrauch auf den Compute Nodes nach oben treibt, sowie einen signifikant erhöhten Platzbedarf – anstatt 20 GB benötigt eine 1:1 Kopie der gleichen Daten mit gleicher Hybrid Columnar Compression (HCC) Kompressionsstufe nur ca. 400 MB, was 50mal weniger ist. Auch die SmartScan Performance auf dieser Kopie lag im erwarteten Bereich unter einer Sekunde. Block dumps zeigten leere HCC Compression Units und Chained Rows. Die derzeit verwendete Kombination aus HCC und Updates scheint die Daten in einem sehr ungünstigen Zustand zu hinterlassen, was Kompression, Chained Rows und Platzbedarf angeht

Oracle Database
Oracle Database Performance Troubleshooting
Berlin
1 Monat
2020-06 - 2020-06

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Eine Applikation zur Berechnung der optimalen Fahrtrouten von Paketauslieferungen zeigt immer wieder „Hänger“, bei denen minutenlang Jobs und Abfragen in der Datenbank hängen bleiben, was signifikante Auswirkung auf die gesamte Applikation hat, da die zeitnahe Neuberechnung der Routeninformation gewährleistet sein muss. Dieses Verhalten ist seit einer Datenbereinigungsaktion zu beobachten, bei der Daten aus der Datenbank gelöscht wurden und von der man sich positive Effekte auf die Performance und den Platzbedarf versprochen hat. Die Analyse ergibt, dass es sich um Sperrungen auf der Ebene des sogenannten „Library Caches“ der Oracle Datenbank handelt – der Cache, der vor allem dazu dient, alle verwendeten Objekte und deren Abhängigkeiten untereinander zu verwalten. Dazu muss man wissen, dass DDL Operationen exklusive Sperrungen auf Library Cache Ebene verursachen, als auch das Neuerstellen von Ausführungsplänen. Die erwähnte Applikation verwendet zum Teil partitionierte Tabellen – wobei es sich um eine fragwürdige Verwendung davon handelt, da pro Tag fast 600 neue Partitionen erzeugt werden. Das führt auch dazu, dass tagsüber während hoher Aktivität auf dem System es zu ALTER TABLE DDLs kommt, die neue Partitionen anlegen und somit vorhandene SQLs im Shared Pool invalidieren. Damit kommt es regelmäßig zu „Parse-Stürmen“, bei denen SQLs von vielen Sessions gleichzeitig ausgeführt werden, für diese SQLs aber erst wieder neue Ausführungspläne aufgrund der Invalidierung erzeugt werden müssen. In der Vergangenheit ist dies genauso geschehen, allerdings hat das Neuerstellen der Ausführungspläne nicht außergewöhnlich viel Zeit in Anspruch genommen, so dass die Auswirkung insgesamt vertretbar war. Seit der erwähnten Datenbereinigungsaktion verhielt sich der Optimizer aber anders, was dazu führte, dass die Erstellung des Ausführungsplans von SQLs, die die partitionierten Tabellen verwenden, extrem lange dauern kann – bis zu mehreren Minuten – und in dieser Zeit andere Sessions, die entweder auch das gleiche SQL versuchen auszuführen oder zu parsen, oder andere Sessions, die einen exklusiven Lock auf „Library Cache“ Ebene auf bestimmte Objekte benötigen, so lange warten müssen, bis für dieses SQL ein Ausführungsplan erstellt wurde. Dies führte zu teilweise extremen Wartesituationen. Ursache für die Verhaltensänderung war ein Feature der Datenbank, bei Einsatz von Parallel Execution beim Erstellen eines Ausführungsplans „Dynamic Sampling“ einzusetzen. Dieses „Dynamic Sampling“ kann bei partitionierten Tabellen eine IN Liste der zu samplenden Partitions-IDs bei Erzeugung der rekursiven Abfrage zur Ermittlung von Selektivitäten verwenden – bei höheren Sampling-Leveln kann es hier bis 512 Partitionen aufzählen. Die Verhaltensänderung bestand darin, dass der Sampling Level sich von Level 7 auf Level 8 erhöht hat, da die Tabelle insgesamt ca. 65 Millionen Blöcke hat und dies genau die Grenze darstellt, um von Level 7 auf Level 8 bei der automatischen Anpassung des Leves zu gehen. Daher wurden seitdem eben 512 Partitionen aufgelistet anstatt wie bisher nur 256. Dies wiederum hatte zur Folge, dass der Optimizer in einen Bug gelaufen ist beim Erstellen des Ausführungsplans für die rekursive „Dynamic Sampling“ Abfrage (durch Verlängerung der IN Liste), was dann für die minutenlange Verzögerung bei der Erstellung des Ausführungsplans des eigentlich betroffenen SQLs verantwortlich war. Als Workaround wurde eine Kombination aus SQL Plan Baseline und SQL Patch für die SQLs eingeführt, die von dem Problem maßgeblich betroffen waren bzw. die die meiste Auswirkung auf das System hatten, indem sie andere SQLs blockierten. Die Aufgabe der SQL Plan Baseline war die Fixierung des derzeitigen Ausführungsplans, während die Aufgabe des SQL Patches die Deaktivierung von „Dynamic Sampling“ war. Damit trat der beschriebene Effekt für diese SQLs nicht mehr auf. Die generelle, datenbankweite Abschaltung des Features, das die automatische Erhöhung des „Dynamic Sampling“ Levels bewirkt, wurde evaluiert und wird eventuell eingesetzt, sollte sich das Verhalten auch noch auf andere SQLs auswirken, die mit den bereits etablierten Mitteln nicht behandelt werden können – zum Beispiel SQL Texte, die Literale bzw. variabel lange IN Listen verwenden. Dazu wurde auch evaluiert, in welchem Maße sich die Verwendung von „Dynamic Sampling“ überhaupt derzeit positiv auf die Ausführungspläne auswirkt, um das mögliche Risiko bei Abschalten des Features besser einschätzen zu können.

Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2020-05 - 2020-05

Exadata Workshop

Seminarleiter Oracle Database
Seminarleiter

Ausführliche Beschreibung. Demonstration und Diskussion der Oracle Exadata Database Machine in Form eines individuellen Workshops – Aufbau, Features (Storage Cells, Smart Scans, Flash Cache, Persistent Memory, RoCE, Hybrid Columnar Compression etc.), wann profitiert man von den speziellen Exadata Features, Analyse des Istzustands und Bewertung in Bezug auf Nutzungsmöglichkeiten / mögliche Vorteile eines Umstiegs auf Exadata sowie mögliche notwendige Anpassungen der derzeitig etablierten Prozesse (Backup, High Availability etc.) als auch Migrationsstrategien.

Oracle Exadata Database Machine
Oracle Database
Merzig (Saar)
1 Monat
2020-05 - 2020-05

Oracle Datenbank Performance Workshop

Seminarleiter Oracle Database Performance Tuning
Seminarleiter

Individual Workshop zu Oracle Datenbank Performance Themen, insbesondere Locking, Parallelisierung, Indizierung, Analysemöglichkeiten innerhalb der Datenbank

Oracle Database
Oracle Database Performance Tuning
vedisys GmbH
Griesheim, Hessen

Aus- und Weiterbildung

Aus- und Weiterbildung

- Studium der Informatik an der TU Karlsruhe

- Oracle Certified Professional 10g DBA
- Oracle Certified Professional 9i DBA
- Oracle Certified Professional 8i DBA

- Microsoft Certified Professional
- Novell Professional Developer

Position

Position

Mehrere Jahre Erfahrung im Bereich Consulting/Schulung/Entwicklung/Administration

Schwerpunkt: Oracle Database Performance Troubleshooting + Tuning, Proactive Database Design for Performance

Kompetenzen

Kompetenzen

Top-Skills

Oracle Datenbank Performance-Tuning Performance Analyse SQL-Datenbanken Performance

Produkte / Standards / Erfahrungen / Methoden

- Mehrjährige Erfahrung in Oracle DBA-Tätigkeiten, Performance Tuning, Troubleshooting, Datenbank-Architektur und -Design

- Erstellung von UNIX-Skripts zur Automatisierung der Datenbankwartung,
Sicherung, vor Einsatz des Oracle Enterprise Backup-Utilities

- Mehrjährige Erfahrung im Bereich C/C++-Entwicklung (Zusatzentwicklungen an
4GLs, z.B. hardwarenahe Programmierung (serielle Schnittstelle), Sockets-
Programmierung, Erstellung von Diensten unter Windows NT, Erstellung von
ActiveX-Komponenten unter Windows 9x/NT, Erstellung von Services unter UNIX
Erstellung eines hardwarenahen NLMs (DCF77-Signalverarbeitung) unter
Novell 3.x,4.x,5.x, Erstellung eines eigenen ODBC 1.x/2.x-kompatiblen Treibers)

- Microsoft OLAP (SQL Server 2000 & Microsoft Analysis Services), ETL-Prozeß,
Überführung der OLTP-Daten in Data Warehouse, Implementierung Star-Schema,
Definition und Implementierung der benötigten Dimensionen, Kennzahlen und
berechnete Kennzahlen, Definition der OLAP-Würfel

- Erstellung von plattformunabhängigen, mehrsprachigen DBA-Werkzeugen
mittels Java (Swing/JDBC)

- Mehrjährige Erfahrung im Schulungsbereich (Oracle DBA, SQL, Microsoft Visual C++,
Centura Produkte)

- Mehrjährige Erfahrung im Produktentwicklungsbereich (Produkt KISSMED
=> Krankenhausinformationssystem) mit 4GL-Sprachen,
Oracle-Datenbanken und UNIX-Systemen (HP-UX, SUN Solaris)

- Mehrjährige Erfahrung mit Kommunikationsservern z.B. DataGate, CloverLeaf
und Kommunikationsprotokollen (HL7, xDT usw.)

- Erfahrung mit Software AG Produkten (Bolero, Tamino (XML/SQL-Datenbank))

Betriebssysteme

HPUX
10.20, 11
MS-DOS
Novell
3.x, 4.x, 5.x
PalmOS
Erfahrung mit PalmOS SDK
SUN OS, Solaris
2.5, 2.6, 7, 8
Unix
AIX, Linux, SCO
Windows
3.x,95,98,NT,2000, XP

Programmiersprachen

Basic
Visual Basic (Version 3 bis 6)
C
Visual C/C++ (V1.52 (16bit) bis Visual Studio Version 6), Borland C++ (Version 3 bis 5)
C++
Visual C/C++ (V1.52 (16bit) bis Visual Studio Version 6), Borland C++ (Version 3 bis 5)
CodeWarrior
Version 2 bis 4 (auf PC), auch als Crosscompiler (PalmOS SDK)
CORBA IDL
in Zusammenhang mit EJB/Java/Oracle 8i
Delphi
Version 2 und 3
Gupta, Centura
SQLWindows, SQLWindows 32, CTD, auch TOM, CDK usw.
Java
JDK 1.1.x, 1.2.x, 1.3, 1.4, Beans, EJB, Swing/JDBC, SQLJ, JSP
JavaScript
JDK 1.1.x, 1.2.x, 1.3, 1.4, Beans, EJB, Swing/JDBC, SQLJ, JSP
Lisp
STC DataGate-Programmierung (MONK basierend auf LISP)
Makrosprachen
VBA, WordBasic
Pascal
Turbo Pascal, Borland Pascal, später Delphi
PL/SQL
Oracle 7 und 8, 8i, 9i, WebDB und Portal 3.0 (PSP PL/SQL Server Pages)
SAL
SQLWindows und SQLWindows/32 (CTD)
Scriptsprachen
awk (Unix)
Shell
Bourne shell, Bourne again shell (bash) Posix-Shell (HP-UX), Korn Shell, awk-Programmierung

Datenbanken

Access
Adabas
Version 7 und 11
BDE
Version 5.x (Delphi)
Gupta, Centura
SQLBase 5, 6, 7, 7.5
JDBC
Lotus Notes
MS SQL Server
4.2, 6.5, 7, 2000 & Analysis Services (MS OLAP)
ODBC
Oracle
7.0-7.3, 8.0, 8i, 9i, 9iR2, 10g, 10gR2
Oracle Database
Oracle Database Performance Troubleshooting
Oracle Database Performance Tuning
Oracle Exadata Database Machine
SQL
Oracle SQL, Microsoft SQL

Datenkommunikation

Novell
Router
RPC
SMTP
SNMP
TCP/IP
Winsock

Hardware

HP
HP 9000-Server (A, D, K, L und R-Klasse)
IBM RS6000
F50, P43
PC
Mehrprozessor High-End-Systeme mit Hardware-Cache-Controller
SUN
Enterprise 3000, 4000, 3500, 4500

Branchen

Branchen

- Banken, Versicherungen
- Industrie (Logistik, Grund- und Stadtentwicklung)
- Gesundheitswesen, Medizin
- ...

Einsatzorte

Einsatzorte

Cochem (+75km) Bonn (+75km) Soest (+50km) Darmstadt (+75km) Homburg (Saar) (+50km) Tübingen (+100km) Titisee-Neustadt (+75km)
Österreich, Schweiz

Deutschland: Für längerfristige Einsätze vor Ort bevorzugt Bereich D6, Remote und kurzfristige Einsätze: beliebiger Einsatzort

möglich

Projekte

Projekte

1 Monat
2024-05 - 2024-05

Vortrag "Oracle Database Automatic Indexing"

Referent Oracle
Referent
Vortrag ?Oracle Database Automatic Indexing? auf der DOAG Datenbank Exaday 2024 Konferenz
Oracle
Oracle
Düsseldorf
9 Monate
2023-08 - 2024-04

Unterstützung Oracle Upgrades, Sicherheit und Performance

Berater Oracle Database
Berater
Eine selbst verwaltete Datenbank Infrastruktur bestehend aus über 40 Oracle Datenbanken unter Windows soll mittels automatischer Upgrades auf den aktuellen Release Update Stand von Oracle 19c gebracht werden ? je nach Sicherheitseinschätzung der von Oracle im Rahmen der ?Critical Patch Updates? gemeldeten Schwachstellen. Dazu soll evaluiert werden, ob das neue ?Autoupgrade? Tool von Oracle für eine Teilautomatisierung dieser Aufgabe eingesetzt werden kann. Das automatische Einspielen der Patches wird mittels Ansible / n8n und einem Powershell Skript implementiert. Darüber hinaus sollen eventuell auftretende Performance-Probleme analysiert und behoben werden
Oracle Database
Oracle Database
Münster, Westfalen
1 Monat
2024-03 - 2024-03

Oracle Datenbank 19c Migration Exadata nach Amazon RDS

Berater Oracle
Berater
Eine auf Exadata hin optimierte, bestehende Applikation soll auf Amazon RDS migriert werden. Dort zeigen sich bei ersten Tests signifikant längere Laufzeiten. Eine Analyse der Datenbankaktivitäten zeigt an, dass bestimmte Abfragen Full Table Scans auf großen Tabellen durchführen und durch die hohe Anzahl an gleichzeitiger Ausführung eine Überlastung der CPUs auf dem Datenbankserver verursacht wird. Verschiedene Ansätze und Lösungsstrategien wurden erarbeitet und werden jetzt in weiteren Tests untersucht.
Oracle
Oracle
Frankfurt am Main
1 Monat
2024-01 - 2024-01

Oracle Datenbank 19c Performance Troubleshooting

Berater Oracle
Berater
Sporadisch auftretende ?Hänger? in Form von sehr langen Antwortzeiten in einer Oracle 19c Datenbank führen zu ebenso sporadischen Ausfällen einer kritischen Inhouse Applikation. Die Analyse ergibt extrem lange Wartezeiten auf verschiedene Ereignisse, insbesondere ist I/O betroffen, sowohl beim Lesen von Blöcken als auch beim Schreiben durch den Logwriter oder DB Writer. Eine Fehlkonfiguration im Bereich des Netzwerks erklärt den hardwareseitigen Fehler, der zu den sporadischen Hängern im Storage Bereich führt. Darüber hinaus zeigt sich, dass verschiedene Datenbanken / Datenbank-Instanzen auf dem gleichen Host ausgeführt werden ? eine davon (nicht die direkt betroffene) ist seitens der Connection Pools der Applikation fragwürdig konfiguriert. Es werden tausende Verbindungen zur Datenbank aufgebaut und teilweise sind dadurch auch tausende Sessions gleichzeitig aktiv, je nach Lastprofil der Applikation. Nach Schwenk des Servers in ein anderes Rechenzentrum treten die Probleme im Bereich des Storages nicht mehr auf ? die Lastspitzen sind aber weiterhin problematisch. Eine Detailanalyse der Aktivitäten, die zu den Lastspitzen führen und Vorschläge, wie diese optimiert werden können, runden die initiale Analyse ab.
Oracle
Oracle
Frankfurt am Main
1 Monat
2023-12 - 2023-12

Vortrag "Gutes Index Design - eine praktische Anleitung" auf der IT Tage Konferenz 2023

Referent Oracle
Referent
Vortrag "Gutes Index Design - eine praktische Anleitung" auf der IT Tage Konferenz 2023
Oracle
Oracle
Frank
1 Monat
2023-12 - 2023-12

Migration Oracle 19c Data Warehouse von AIX nach Linux

Berater Oracle
Berater
Unterstützung bei der Planung einer Migration von AIX nach Linux für ein Data Warehouse auf Oracle 19c. Detaillierte Ausarbeitung der Zielkonfiguration und der Tests auf der neuen Plattform.
Oracle
Oracle
Frankfurt am Main
1 Monat
2023-11 - 2023-11

Vortrag "Gutes Index Design - eine praktische Anleitung" auf der DOAG Konferenz 2023

Referent Oracle Database
Referent
Vortrag "Gutes Index Design - eine praktische Anleitung" auf der DOAG Konferenz 2023
Oracle Database
Oracle Database
Nürnberg
1 Monat
2023-10 - 2023-10

Oracle Datenbank Workshop "Den kostenbasierten Optimizer verstehen"

Seminarleiter Oracle Datenbank
Seminarleiter
Workshop ?Den kostenbasierten Optimizer verstehen? ? grundlegende Prinzipien der Entscheidungsfindung des Optimizers, was kann schief gehen und wie stelle ich das fest, welche Möglichkeiten der Beeinflussung gibt es. Wie liest man Ausführungspläne richtig, wie generiert man Laufzeitprofile von SQL-Ausführungen und wertet diese aus. Wichtige Hinweise, auf was man bei der Statistikgenerierung für den Optimizer achten sollte. Clustering von Daten richtig verstehen und welche Möglichkeiten der Beeinflussung gibt es.
Oracle Datenbank
Oracle Datenbank
Frankfurt am Main
2 Monate
2023-09 - 2023-10

DOAG Expertenseminar ?Oracle Datenbank Indexing?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

In diesem Seminar werden die wichtigsten Themen bezüglich Indizierung mit B*Tree und Bitmap Indizes in der Oracle-Datenbank behandelt ? Text / XML / JSON / Domain-Indizes werden zwar je nach verfügbarer Zeit erwähnt und beschrieben, aber es wird nicht ausführlich darauf eingegangen ? der Schwerpunkt liegt eindeutig auf den B*Tree / Bitmap Indizes:

- Grundlagen: Wie ist ein B*Tree-Index aufgebaut, wie ein Bitmap-Index und welche Konsequenzen ergeben sich daraus? Wie verändert sich ein Index bei DML-Operationen und was ergibt sich daraus?

- Index Access, Filter und Clustering von Daten: Welche Operationen sind beim Index-Zugriff wann wie kostspielig? Warum wird der sogenannte Clustering Factor von Indizes häufig von der Datenbank falsch berechnet und was kann man dagegen machen? Warum kann ein Full Table Scan deutlich effizienter als ein Zugriff per Index sein? Indizes und der Optimizer - was wird bei der Kostenberechnung berücksichtigt, was nicht? OPTIMIZER_INDEX_COST_ADJ / OPTIMIZER_INDEX_CACHING, System Statistiken etc.

- Index Design: Auf was ist beim Design von Indizes zu achten? Was ist für die Reihenfolge von mehreren Ausdrücken in einem Index relevant? Wann ist ein Bitmap-Index sinnvoll? Was sind Function Based Indizes? Was sind virtuelle Spalten? Wie hängen diese Features zusammen und wann verwendet man welches dieser Features?

- Index Options: Invisible / Unusable / Virtual / Partial-Indizes. Primary Key / Unique / Deferred Constraints und Indizes.

- Index Compression: Wie funktioniert dieses Feature und was bringt es? Welche Auswirkungen gibt es? Unterschied zwischen Basic und Advanced Low / High Compression

- Indizes und DML: Was sind die Auswirkungen von Indizes bei DML-Operationen auf einer Tabelle? Typische Szenarien bei gleichzeitiger Veränderung von Tabellen und welche Maßnahmen hier helfen können - was sind die potentiellen Auswirkungen dieser Maßnahmen?

- Index Monitoring: Wie kann ich eine bestehende Applikation bezüglich der Indizierung überwachen und auf was ist dabei zu achten?

- Foreign Keys und Indizes: Wann sollten Foreign Keys indiziert sein, wann ist es nicht notwendig?

- Index Rebuild: Wann ist es sinnvoll, einen Index aktiv zu reorganisieren? Welche Möglichkeiten gibt es dafür und wie unterscheiden sie sich?
Oracle Database
Oracle Database
DOAG Dienstleistungen GmbH
Berlin
1 Monat
2023-07 - 2023-07

Oracle Community Yatra Tour (OCYatra) 2023 Indien

Referent Oracle Database
Referent
Als Teil der Vortragenden auf der Oracle Community Yatra Tour (OCYatra) 2023 haben wir sechs Städte (Chennai, Bangalore, Mumbai, Pune, Delhi, Hyderabad) in zwölf Tagen besucht und in jeder Stadt einen Konferenztag mit jeweils bis zu 400 Teilnehmern gestaltet. Ich habe pro Konferenztag drei Vorträge gehalten: Oracle 12c to 23c New Performance Features, Advanced Indexing und Advanced Oracle Troubleshooting.
Oracle Database
Oracle Database
AIOUG (All Indian Oracle User Group), Indien
Indien
1 Monat
2023-06 - 2023-06

Unterstützung Upgrade 11.2 nach 19c

Berater Oracle Database
Berater
Eine komplexe, weitgehend datenbankbasierte Applikation (große Mengen an PL/SQL Code) muss von Oracle Datenbank Version 11.2 auf 19c migriert werden. Unterstützung in unterschiedlichen Bereichen ? detaillierte Beschreibung von Verhaltensänderungen in 19c (zum Beispiel beim Einsatz von DBMS_JOB) als auch Performance-Analyse bei Regressionen.
Oracle Database
Oracle Database
Monheim, Schwaben
1 Monat
2023-05 - 2023-05

Erweiterung / Anpassung Anonymisierung ECommerce Applikation

Berater / Entwickler Oracle Database
Berater / Entwickler
Eine bereits vor zwei Jahren entwickelte Lösung zur performanten Anonymisierung von relationalen und unstrukturierten XML-Massendaten wurde gemäß Kundenwunsch angepasst und nochmals optimiert hinsichtlich Performance, da sich das Verhalten mit aktuellen Oracle Versionen (19c) im Vergleich zu früheren Versionen hinsichtlich Parallelisierung verändert hatte.
Oracle Database
Oracle Database
Düsseldorf
1 Monat
2023-04 - 2023-04

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Berater Oracle Exadata
Berater
Nur mit einer ganz bestimmten Kombination von Features tritt ein Langläufer Phänomen beim Sammeln von Statistiken auf ? dazu gehören HCC Kompression, Parallelität, Approximate NDV Statistikmodus, Offloading / Smart Scan, virtueller Spalte mit CPU-intensiver Berechnung (zum Beispiel STANDARD_HASH) und ein bestimmter Zustand der Zieltabelle nach DDL / Exchange Partition. Dann verlängert sich die Zeit für die Statistikerstellung signifikant um mehrere Faktoren ? im Grunde bringt die Parallelisierung in so einem Fall keine Zeitreduktion, da beliebig viel CPU-Zeit verbraucht wird und die Dauer entspricht dann einer seriellen Verarbeitung. Als erstes wurde ein Workaround entwickelt (ein CAST des originären Ausdrucks auf den gewünschten Datentyp verhindert das Problem), als zweites wurde an einem reproduzierbaren Testcase für den Oracle Support gearbeitet.
Oracle Exadata
Oracle Exadata
Frankfurt am Main
1 Monat
2023-03 - 2023-03

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Berater Oracle Exadata
Berater

Nach dem Installieren des Release Update 17 von 19c (RU 19.17) ist die gesamte Datenbank Performance sehr schlecht ? maßgeblich aufgrund sehr langsamen Transfer von Blöcken zwischen den RAC Instanzen ? anstatt durchschnittlich 400 µs pro übertragenem Block steigt dies auf fast 20.000 µs (!) an.

Eine Analyse zeigt, dass die LMS Hintergrund-Prozesse, die in RAC für die Übermittlung der Blöcke zuständig sind, fast permanent auf CPU Zeit verbringen, was vor der Installation des RUs nicht der Fall war. Ein CPU Profiling zeigt an, dass die Prozesse die gesamte Zeit beim Suchen im ?gcs resource table? verbringen, was darauf hinweist, dass etwas mit der Verwaltung dieser Tabelle im Speicher (Effiziente Aufteilung in ?Hash Buckets?) nicht stimmt ? es gab in der Vergangenheit schon ähnliche Bugs in dem Bereich. Nach Rücksprache mit Oracle Support und Einspielen entsprechender Bug Fixes ist das Problem gelöst.
Oracle Exadata
Oracle Exadata
Berlin
1 Monat
2023-02 - 2023-02

Individual Workshop ?Oracle Database Indexing?

Seminarleiter Oracle Database
Seminarleiter

In diesem Seminar werden die wichtigsten Themen bezüglich Indizierung mit B*Tree und Bitmap Indizes in der Oracle Datenbank behandelt:

- Grundlagen: Wie ist ein B*Tree Index aufgebaut, wie ein Bitmap Index und welche Konsequenzen ergeben sich daraus? Wie verändert sich ein Index bei DML Operationen und was ergibt sich daraus?

- Index Access, Filter und Clustering von Daten: Welche Operationen sind beim Index-Zugriff wann wie kostspielig? Warum wird der sogenannte Clustering Factor von Indizes häufig falsch berechnet von der Datenbank und was kann man dagegen machen? Warum kann ein Full Table Scan deutlich effizienter als ein Zugriff per Index sein? Indizes und der Optimizer ? was wird bei der Kostenberechnung berücksichtigt, was nicht? OPTIMIZER_INDEX_COST_ADJ / OPTIMIZER_INDEX_CACHING, System Statistiken etc.

- Index Design: Auf was ist beim Design von Indizes zu achten? Was ist für die Reihenfolge von mehreren Ausdrücken in einem Index relevant? Wann ist ein Bitmap Index sinnvoll?

- Index Compression: Wie funktioniert dieses Feature und was bringt es? Welche Auswirkungen gibt es? Unterschied zwischen Basic und Advanced Low / High Compression
Oracle Database
Oracle Database
Saarbrücken
1 Monat
2023-01 - 2023-01

Datawarehouse Performance Beratung

Berater Oracle Database
Berater
Optimierung hochkomplexer SQLs als Teil der Beladungsstrecken einer neuen Data Warehouse Umgebung. Diese verwendet eine doppelt temporale Speicherung der Daten (technische und fachliche Gültigkeiten), was die Komplexität und auch die zu verarbeitenden Datenmengen entsprechend erhöht. Die Überwachung dieser SQLs funktioniert mit Oracle Bordmitteln nicht richtig, da die SQLs zu lange laufen (mehrere Stunden) und die Ausführungspläne so komplex sind (teilweise mehr als 1000 Operationen), dass das eingebaute Real-Time SQL Monitoring der Datenbank nur unvollständige Berichte generiert. Die Implementierung einer automatisierten, eigenen Logik, bei der zum Einen die unvollständigen Berichte regelmäßig in einer Tabelle abgespeichert werden und zum Anderen diese Menge an unvollständigen Berichten dann wieder zu einem einzelnen, vollständigen Bericht zusammengesetzt werden, erlaubt eine effiziente Analyse dieser mittels der Parallelverarbeitungsoption ausgeführten SQLs und eine entsprechende Optimierung. Eine Reduktion der Laufzeiten um 50% oder mehr dieser komplexen SQLs konnte damit erreicht werden.
Oracle Database
Oracle Database
Wiesbaden
3 Monate
2022-11 - 2023-01

Individual Workshop Oracle Datenbank Performance

Berater Oracle Database
Berater

Unterstützung beim Testen unterschiedlicher Partitionierungsstrategien im Data Warehouse Umfeld, korrektes Aufsetzen der Testumgebung / Daten / Statistiken. Auswertung der Ausführungspläne / Performance / Vergleich zwischen alter und neuer Strategie

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2022-12 - 2022-12

Vortrag auf den IT Tagen 2022

Referent Oracle Database
Referent

Vortrag ?Kostenlos! Die am wenigsten benutzten Performance Features der Oracle Datenbank? auf den IT Tagen 2022

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2022-12 - 2022-12

Individual Workshop ?Database Performance: Hands On?

Seminarleiter Oracle Database
Seminarleiter

Einführung in die systematische Analyse und Verbesserung von Oracle Datenbank Performance. Kennenlernen und Üben verschiedener Werkzeuge wie SQL Trace, Rowsource Statistiken, AWR / ADDM / Statspack, SQL Monitoring, korrektes Lesen und Verstehen von Ausführungsplänen etc.

Oracle Database
Oracle Database
Saarbrücken
3 Monate
2022-10 - 2022-12

Unterstützung Migration Oracle Datenbank

Berater Oracle Database
Berater

Unterstützung bei der Vorbereitung und Durchführung der Migration einer bestehenden Logistik Software von Oracle 11.2.0.4 auf Oracle 19c.

Oracle Database
Oracle Database
Frankenthal (Pfalz)
1 Monat
2022-10 - 2022-10

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Berater Oracle Database
Berater

Nach dem Installieren des Release Update 15 von 19c (RU 19.15) gibt es Laufzeitprobleme mit Tableau Berichten ? Ausführungspläne verwenden Indizes und Nested Loop Joins obwohl diese Indizes als ?INVISIBLE? markiert sind, was zu sehr langen Laufzeiten führt.

Eine Analyse ergibt, dass Auslöser der Probleme sehr schlechte Abschätzungen auf bestimmten, kleinen Dimensionstabellen sind. Diese werden vom Optimizer so abgeschätzt, dass die angewendeten Filter keine Daten zurückliefern, was grob falsch ist. Der Grund für die falsche Abschätzung ist das ?Dynamic Sampling? Feature der Datenbank und der Zustand dieser kleinen Tabellen, die viel mehr Platz allokieren als sie eigentlich müssten / sollten, was dazu führt, dass das ?Dynamic Sampling? nicht gut funktioniert (das Sampling greift nur auf leere Blöcke zu, wenn man Pech hat, da das Segment so viele leere Blöcke beinhaltet) und daher die Abschätzungen so negativ beeinflusst.

Die ?INVISIBLE? Indizes kommen nur daher zum Zuge, da bestimmte Views den Hint ?USE_INVISIBLE_INDEXES? beinhalten ? aber auch ohne Verwendung dieser Indizes sind die Ausführungspläne aufgrund der schlechten Abschätzungen ineffizient.

Eine Reorganisation der betroffenen Tabellen löst das Problem ? Hinweise werden noch zur Verfügung gestellt, wie das Problem in Zukunft vermieden werden könnte, indem die Tabellen auf eine andere Art und Weise gepflegt werden (Vermeiden der Kombination aus Updates auf komprimierten Daten, Deletes und Insert APPEND). 
Oracle Database
Oracle Database
Berlin
1 Monat
2022-09 - 2022-09

Vortrag ?Kostenlos! Die am wenigsten benutzten Performance Features der Oracle Datenbank? auf der DOAG Konferenz 2022

Referent Oracle Database Performance Tuning
Referent

Vortrag ?Kostenlos! Die am wenigsten benutzten Performance Features der Oracle Datenbank? auf der DOAG Konferenz 2022

Oracle Database
Oracle Database Performance Tuning
Nürnberg
4 Monate
2022-06 - 2022-09

Beratung Entwicklung Archivierungslösung Exadata

Berater Oracle Database Oracle Exadata
Berater

Eine Bank möchte eine Inhouse Lösung zur Archivierung von Applikationsdaten entwerfen, die die Daten in einer Oracle Datenbank auf Exadata mit ZFS Storage speichert. Es soll den Applikationen ein generisches Datenbank-Interface zur Verfügung gestellt werden, das die Archivierung von Oracle Tabellen revisionssicher ermöglicht. Dazu werden verschiedene Oracle Datenbank Features wie ?Immutable Tables? und ?Database Vault? evaluiert.

Oracle Database Oracle Exadata
Oracle Database Oracle Exadata
Frankfurt am Main
1 Monat
2022-06 - 2022-06

Exadata Workshop

Seminarleiter Oracle Database
Seminarleiter

Ausführliche Beschreibung. Demonstration und Diskussion der Oracle Exadata Database Machine in Form eines individuellen Workshops ? Aufbau, Features (Storage Cells, Smart Scans, Flash Cache, Persistent Memory, RoCE, Hybrid Columnar Compression etc.), wann profitiert man von den speziellen Exadata Features, detaillierter technischer Hintergrund, wie die diese Features funktionieren und wie deren Einsatz analysiert und gemessen werden kann.

Oracle Database
Oracle Database
Oberhausen (D-46049, D-46047, D-46117, D-46119, D-46149, D-46147, D-46045, D-46145)
1 Monat
2022-05 - 2022-05

DOAG Expertenseminar ?Database Performance: Hands On?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

In diesem Workshop Oracle Database Performance: Hands-on lernen wir anhand verschiedener praktischer Beispiele unterschiedliche Techniken kennen, mit denen Performance in der Datenbank im Detail analysiert werden kann. Es geht dabei um die Antwort auf die Frage, womit die Zeit in der Datenbank verbracht wird und wie dies gemessen werden kann.

 

Die Teilnehmer führen die Schritte unter Anleitung des Seminarleiters in ihrer eigenen oder einer vorbereiteten Datenbank durch und bekommen dadurch praktische Erfahrung, wie die jeweiligen Techniken funktionieren und was es bei der Anwendung zu beachten gilt.

Oracle Database
Oracle Database
DOAG
Berlin
3 Monate
2022-02 - 2022-04

Performance Optimierung Oracle 19c (Exadata)

Performance Troubleshooting Spezialist Oracle Database
Performance Troubleshooting Spezialist

Eine hauseigene Applikation soll auf Exadata migriert werden. Auf der Exadata Umgebung laufen jedoch einfache Updates und Inserts deutlich langsamer als auf den nicht-Exadata Umgebungen. Eine genauere Analyse ergibt, dass hier ?Flashback Database Archive (FBDA)? zum Einsatz kommt und die Verzögerungen hauptsächlich durch die rekursiven Aktivitäten von FBDA verursacht werden. Die Symptome, validiert durch einen SQL Trace, entsprechenden denen im Bug "Bug 31201192 - Hang with 'fbar timer'<='enq: tx - contention' (Doc ID 31201192.8)" beschriebenen. Dem Kunden wird nahegelegt, den verfügbaren Patch als ?Backport? für die eingesetzte Version von Oracle 19c bei Oracle Support zu beantragen.

Desweiteren laufen auf der Exadata bestimmte Import-Prozesse, bei denen aus Applikationssicht nur einfache Batch-Inserts durchgeführt werden, auf der Exadata sehr langsam. Eine Analyse zeigt, dass die Datenbank sich damit beschäftigt, tausende von Child Cursorn für diese Inserts zu erzeugen / zu verwalten. Das Grundproblem besteht in der Verwendung von falschen Datentypen beim Binden von Bind-Variablen von Applikationsseite. Nach Korrektur der Datentypen laufen die Inserts um Faktor 1000 schneller und die Anzahl der Child Cursor reduziert sich auf wenige einzelne.

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2022-03 - 2022-03

Individual Workshop ?Datenbank Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Workshop ?Datenbank Performance für Entwickler? ? Beschreibung:

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um effektiver mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt, eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

Kursinhalte:

-        Instrumentierung

-        Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring

-        Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)

-        (serielle) Ausführungspläne richtig lesen

-        Indizierung

-        Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster

-        Hints

-        Bind Variablen / Literale und ungleichmäßige Datenverteilung

-        Datenbank Links / Transaktionen / Locks

Oracle Database
Oracle Database
Monheim, Schwaben
1 Monat
2022-03 - 2022-03

Performance Optimierung Oracle 19c

Performance Troubleshooting Spezialist Oracle Database
Performance Troubleshooting Spezialist

Umstellung der internen Speichermethode von XML-Daten. Oracle verwendet eigentlich seit Version 11.2 intern die Speichermethode ?Binary XML? für XMLType Daten. Eine Software eines Drittherstellers verwendete jedoch explizit noch die Speichermethode ?CLOB?, was deutlich mehr Platz in der Datenbank belegt. Nach Abklärung mit dem Hersteller wurde ein Migrationskonzept mit automatisierter Umstellung von über 5.000 bestehenden Tabellen erstellt und auch umgesetzt, so dass innerhalb weniger Minuten diese Tabellen auf ?Binary XML? Speichermethode umgestellt wurden ? dazu wurde mittels Create Table As Select (CTAS) eine temporäre Kopie der jeweiligen Tabelle angelegt und die alte Tabelle entsprechend entfernt / ersetzt, automatisiert per Skript. Als Absicherung für den Fall, dass die Migration nicht erfolgreich ist oder nachfolgend Probleme in der Applikation auftreten, wurde die Original-Datenbank (Oracle 19c CDB/PDB Architektur) als PDB-Kopie erhalten.

Oracle Database
Oracle Database
Frankfurt am Main
3 Monate
2021-12 - 2022-02

Vortrag auf der All Indian Oracle User Group AIOUG Konferenz 2021 / 2022

Referent Oracle Database
Referent

Vortrag ?Oracle Database 21c New Performance Features? auf der Sangam 21 / All Indian Oracle User Group (AIOUG) 2022 Konferenz

Oracle Database
Oracle Database
Remote
2 Monate
2021-11 - 2021-12

Vorträge DOAG Konferenz 2021 und IT Tage 2021

Referent Oracle Database Perfomance Tuning
Referent
Vortrag ?Oracle Database 21c New Performance Tests? auf der DOAG Konferenz 2021 sowie den IT Tagen 2021
Oracle Database
Oracle Database Perfomance Tuning
Nürnberg
2 Monate
2021-11 - 2021-12

Performance Optimierung Oracle

Performance Troubleshooting Spezialist Oracle Database Performance Tuning
Performance Troubleshooting Spezialist

Abfragen in einem Data Warehouse verhalten sich unterschiedlich, je nachdem, wie auf die Partitionen der Daten zugegriffen wird. Bei Verwendung einer einzigen Partition sind die grundsätzlichen Abschätzungen des Optimizers so weit schlüssig, bei Zugriff auf mehrere Partitionen sind die Abschätzungen sehr schlecht. Es stellt sich heraus, dass durch die Verwendung von inkrementellen Statistiken ein Bug entsteht, der die Spaltenstatistiken des Partitionsschlüssels auf globaler Ebene verfälscht, so dass je nach Datenmenge pro Partition völlig falsche Annahmen seitens des Optimizers getroffen werden. Es werden verschiedene Lösungsmaßnahmen besprochen (unter anderem Verhinderung der Erzeugung eines Histogramms) und ein generischer Testcase für Oracle Support vorbereitet, um den Bug nachstellen zu können. 

Abfragen, die versuchen, auf bestimmte Partitionen dynamisch einzuschränken per Unterabfrage erreichen nur inkonsistentes Partition Pruning. Da der Kunde bereits auf Oracle 19c ist, wird dieses Problem mittels ?SQL Macros? adressiert, was erlaubt, den Partitionsschlüssel als Literal anzugeben und trotzdem dynamisch zu bestimmen.

Darüber hinaus gibt es noch Probleme mit bestimmten Transformationen seitens des Optimizers (?Group By Placement?), die zu schlechten Abschätzungen und als Folge zu ineffizienten Ausführungsplänen führen. Dies kann durch eine Parametereinstellung verhindert werden.

Oracle Database
Oracle Database Performance Tuning
Frankfurt am Main
1 Monat
2021-10 - 2021-10

DOAG Expertenseminar ?Datenbank-Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um effektiver mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

 

Kursinhalte: 

  • Instrumentierung
  • Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring
  • Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)
  •  (serielle) Ausführungspläne richtig lesen
  • Indizierung
  • Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster
  • Hints
  • Bind Variablen / Literale und ungleichmäßige Datenverteilung

Oracle Database
Oracle Database
DOAG
Berlin
1 Monat
2021-10 - 2021-10

Vorträge trivadis Performance Days

Sprecher Oracle Database
Sprecher

Vorträge im Rahmen der trivadis Performance Days 2021: ?Oracle Datenbank 21c New Performance Features? und ?Oracle Datenbank Indexing Myths?

Oracle Database
Oracle Database
Zürich
2 Monate
2021-09 - 2021-10

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Performance Troubleshooting Spezialist Oracle Database
Performance Troubleshooting Spezialist

Verschiedene mittels Tableau erzeugte Berichte schwanken stark in der Laufzeit. Es gilt zu ermitteln, ob die Schwankungen maßgeblich durch unterschiedliches Verhalten in der Datenbank verursacht werden oder es andere Gründe außerhalb der Datenbank gibt, wie zum Beispiel Netzwerk oder auch auf Applikationsebene (Tableau Reporting Plattform).

Eine Analyse ergibt, dass die Datenbank zwar teilweise an den unterschiedlichen Laufzeiten beteiligt ist, dies aber nur aufgrund unterschiedlicher Auslastung, aber nicht aufgrund unterschiedlicher Ausführungspläne oder anderer Gründe. Maßgeblich werden die Schwankungen durch die Reporting Plattform verursacht, die sehr stark unterschiedlich lange benötigt, um die bereits von der Datenbank zur Verfügung gestellten Daten abzuholen.

Oracle Database
Oracle Database
Berlin
1 Monat
2021-09 - 2021-09

Workshop ?Datenbank Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Workshop ?Datenbank Performance für Entwickler? ? Beschreibung:

 

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um effektiver mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt, eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

 

Kursinhalte:

  •  Instrumentierung
  • Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring
  •  Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)
  • (serielle) Ausführungspläne richtig lesen
  • Indizierung
  • Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster
  • Hints
  • Bind Variablen / Literale und ungleichmäßige Datenverteilung

Oracle Database
Oracle Database
Wiesbaden
1 Monat
2021-08 - 2021-08

Oracle / MySQL Datenbank Performance Troubleshooting

Performance Troubleshooting Spezialist Performance Troubleshooting
Performance Troubleshooting Spezialist

Der Export von historischen Daten ist bei einer Standardsoftware sehr langsam, da SQLs pro Datensatz ausgeführt werden, und pro Ausführung mehrere Sekunden an Laufzeit entstehen. Unter MySQL ist die Ausführung nochmal deutlich langsamer als unter Oracle. Eine detaillierte Analyse zeigt, dass die Datenbanken aufgrund der Art und Weise, wie das SQL geschrieben ist, nicht in der Lage sind, die Historie nur für die in Frage kommenden Datensätze zu ermitteln, sondern jeweils die komplette Datenmenge mehrfach pro SQL-Ausführung verarbeiten.

Durch Umformulierung der SQLs (mittels Verwendung von LATERAL Views) wird sowohl Oracle als auch MySQL in die Lage versetzt, die Historie nur für die relevanten Datensätze zu ermitteln, was einer Performance-Steigerung von Faktor 1000 entspricht, da jetzt nur noch wenige Millisekunden für eine einzelne Ausführung benötigt werden, anstatt mehrerer Sekunden.

Oracle Database MySQL
Performance Troubleshooting
Mainz
1 Monat
2021-08 - 2021-08

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist
Eine Software verwendet weitgehend noch den Rule Based Optimizer (RBO), der allerdings bei einigen Abfragen schlechte Ausführungspläne produziert. Bei Verwendung des Cost Based Optimizers (CBO) gibt einige wenige SQLs, die wiederum deutlich langsamer sind als bei Verwendung des RBOs. Diese wurden detailliert analysiert und Vorschläge unterbreitet, wie sie ähnlich effizient wie mit dem RBO gestaltet werden können. Es stellte sich heraus, dass die Verwendung von außergewöhnlichen Konstrukten (skalare Unterabfrage in der ORDER BY Klausel) dazu führte, dass der CBO bestimmte Transformationen zur effizienten Umsetzung von OR Klauseln nicht anwendete. Die betroffenen Statements werden jetzt mit einer früheren CBO-Version (OPTIMIZER_FEATURES_ENABLE Hint) betrieben, die das Problem nicht hat und somit trotz Verwendung von skalarer Unterabfrage in der ORDER BY Klausel und OR-Klauseln einen effizienten Ausführungsplan generiert.
Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2021-07 - 2021-07

Individual Workshop ?Datenbank Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Individual Workshop „Datenbank Performance für Entwickler“ – inklusive Analyse von individuellen Problemfällen und Vorschlägen, wie diese verbessert werden können. Dazu noch Vorschläge, wie die Diagnosemöglichkeit von Applikationsseite verbessert werden kann, durch zum Beispiel selektives Aktivieren von SQL Trace und automatisiertes Einsammeln erweiterter Informationen bezüglich Ausführungsplänen.

Oracle Database
Oracle Database
Karlsruhe (Baden)
7 Monate
2021-01 - 2021-07

Anonymisierung ECommerce Applikation

Entwickler Oracle Database
Entwickler

Design und Umsetzung einer automatisierten Anonymisierung und Übertragung der Produktionsdatenbank in Testumgebungen. Die zu maskierenden Felder und die dafür verwendeten Regeln sind konfigurierbar über Metadaten, als auch die resultierende Datenmenge (zum Beispiel nur 10% des Originaldatenbestandes). Die Maskierung erfolgt performanceoptimiert über entsprechend automatisch mittels Metadaten generierte CTAS (Create Table As Select) Operationen, da die Laufzeiten durch die massive Verwendung von XML in der Datenbank eine wichtige Rolle spielen. Durch entsprechende Optimierung der CTAS Operationen kann die Laufzeit um Faktor 20 bis 40 erhöht werden und damit das Gesamtvolumen an zu maskierenden Daten in unter 24 Stunden verarbeitet werden trotz der komplexen Maskierungsregeln auf XML-Dokument Ebene. Für Bugs, die nach dem Oracle 19c Upgrade eine Verarbeitung aufgrund von PGA Speicherleaks und exzessiver TEMP Allokation unmöglich machten, wurde noch eine iterative Verarbeitung in Teilstücken implementiert, um die Probleme zu umgehen.

Oracle Database
Oracle Database
Düsseldorf
1 Monat
2021-06 - 2021-06

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting

In einer operativen Datenbank werden bestimmte Berichte erstellt, die eigentlich in einer Data Warehouse Umgebung erstellt werden sollen, derzeit aber nicht erstellt werden können.

 

Daher sind die Daten in der operativen Datenbank nicht für diese Art von Abfragen optimiert, was Schema Design, Partitionierung und Indizierung angeht.

 

Aufgrund der nur vorübergehenden Natur (die Berichte sollen dann in absehbarer Zukunft im Data Warehouse erstellt werden) sollen auch keine größeren Anpassungen / Änderungen an der operativen Datenbank durchgeführt werden.

 

Als Problem stellt sich der Zugriff auf eine größere Tabelle mit Milliarden von Zeilen dar. Durch eine entsprechende Indizierung kann der Tabellenzugriff komplett vermieden werden, was die Laufzeit der relevanten Berichte entsprechend verbessert und Langläufer im Stunden-Bereich verhindert.

 

Für einen bestimmten Bericht wurde die Generierung der Informationen von einem iterativen Schleifenansatz mit potenziell sehr vielen Wiederholungen auf ein einzelnes SQL umgestellt, das die Daten zuverlässig innerhalb weniger Minuten generiert, was für die Nachtverarbeitung völlig ausreichend ist. Der Schleifenansatz war im Gegensatz dazu schlecht vorhersehbar, was die Gesamtlaufzeit angeht und deutlich langsamer (im Stundenbereich)

Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2021-06 - 2021-06

DOAG Expertenseminar ?Parallel Execution Masterclass?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar mit folgendem Inhalt:

 

- Wie lese ich einen Ausführungsplan richtig? Gibt es besondere Regeln für parallele Ausführungspläne? Und falls ja, wie sehen diese aus?

 

- Wie führt Oracle so einen Ausführungsplan zur Laufzeit aus?

 

- Was machen diese ganzen Operationen, die mit PX anfangen, in einem parallelen Ausführungsplan? Was sagen mir die zusätzlichen Spalten, die es nur in einem parallelen Ausführungsplan gibt?

 

- Wie funktioniert diese automatische parallele Ausführung von SQL Statements zur Laufzeit? Was wird parallelisiert, und wie wird die Arbeit automatisch aufgeteilt? Was kann dabei schiefgehen? Falls etwas schiefgeht, kann ich es beeinflussen, und falls ja, wie?

 

- Warum sind manchmal parallele Ausführungen nicht viel schneller als serielle, oder sogar langsamer, und warum verbrauchen parallele Ausführungen teilweise so viel mehr PGA-Speicher und/oder TEMP-Speicherplatz wie vergleichbare serielle Ausführungen?

 

- Wie kann ich eine SQL Statement-Ausführung analysieren, um zu verstehen, warum sie länger braucht als erwartet? Wie setze ich die Diagnostics- und Tuning-Pack License Features optimal in diesem Zusammenhang ein?

 

- Wie kann ich speziell parallele SQL-Ausführungen analysieren, um zu verstehen, ob Parallel Execution hier überhaupt effizient eingesetzt wird? Warum sind die für serielle Ausführungen bekannten Analyse-Methoden dafür größtenteils ungeeignet?

 

- Wie kann ich parallele Ausführungen schon beim physischen Datenbank-Design schneller machen?

 

- Welche neuen Parallel Execution Features sind in Oracle 12c dazugekommen?

 

Der Workshop vermittelt ausführliche Antworten zu diesen Fragen. Darüber hinaus bietet es Ihnen zu einem großen Teil exklusives Wissen, das von mir selbst erarbeitet wurde. Dieses Wissen werden Sie woanders - auch nicht in den offiziellen Unterlagen und Schulungen von Oracle - finden.

Oracle Database
Oracle Database
Berlin
1 Monat
2021-05 - 2021-05

Detailanalyse Feature Usage Standard Edition Lizenz

Technischer Berater Oracle Database
Technischer Berater

Ein Kunde überprüft die Angabe der "Feature Usage" in DBA_FEATURE_USAGE_STATISTICS als Vorbereitung für einen License Audit seitens Oracle. Obwohl der Kunde nur über eine "Standard Edition" Lizenz verfügt und sich an keine aktive und absichtliche Nutzung von Enterprise Edition Features erinnern kann, werden dort sowohl "Real Application Security" als auch "Adaptive Plans" als benutztes Feature angezeigt - welche beide als "Enterprise Edition" Features seitens Oracle geführt werden.

Eine detaillierte Analyse ergibt, dass beide Features bereits bei der Standard-Installation einer 12.2.0.1 Standard Edition als "in use" angezeigt werden, da Oracle entsprechende Objekte bereits in der "Template"-Datenbank mitliefert, die eine Nutzung von "Real Application Security" anzeigen, und auch fälschlicherweise den Parameter "OPTIMIZER_APAPTIVE_PLANS" auf "TRUE" setzt, obwohl dieses Feature in der "Standard Edition" überhaupt nicht zur Verfügung steht.

Insofern sollte der Kunde bezüglich eines Audits seitens Oracle hier auf der sicheren Seite sein.

Oracle Database
Oracle Database
Hamburg
4 Monate
2021-01 - 2021-04

Data Warehouse Upgrade 19c Troubleshooting (Exadata)

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Verschiedene Abfragen verlängern sich signifikant in der Laufzeit nach dem Upgrade von 18c auf 19c und dem Hochsetzen des Parameters OPTIMIZER_FEATURES_ENABLE von „11.2.0.4“ auf „19.1.0“. Detaillierte Analyse der unterschiedlichen Abfragen mit Vorschlägen, wie funktionierende Workarounds aussehen können. Weitere Probleme unterschiedlichster Natur treten auf, von Planregressionen bis hin zu ORA-Fehlermeldungen beim Parsen sowie falschen Ergebnissen. Unterstützung bei der Zusammenarbeit mit Oracle Support mittels Vorbereitung entsprechender generischer Test Cases. Entwicklung entsprechender Workarounds für die genannten Probleme.

Oracle Database
Oracle Database Performance Troubleshooting
Frankfurt am Main
2 Monate
2021-02 - 2021-03

Analyse Performance / Speicherbedarf nach Oracle 19c Upgrade

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Nach einem Upgrade von Oracle 12.1 auf 19c gibt es mehrere Performance Probleme sowie Abbrüche in der Verarbeitung aufgrund von unzureichendem PGA Speicher. 19c benötigt signifikant mehr PGA Speicher pro Prozess und die Applikation erzeugt über mehrere Knoten von Application Servern mehrere Connection Pools, was zu einer hohen Grundlast an Prozessen führt. Desweiteren kommt seit der Version 18c einer neuer Speicherbereich zum Einsatz - die sogenannte „MGA" – ein Zwitter aus privaten und geteiltem Speicher, da „Shared Memory“ bei Bedarf dynamisch allokiert und zwischen mehreren Prozessen geteilt wird. Diese zusätzliche Speicherkomponente macht insbesondere unter Solaris Probleme, da zur Laufzeit immer wieder Allokationsfehler und damit Abbrüche auftreten können.

Das MGA-Problem kann mittels einiger interner Parameter umgangen werden, um die neue Speicherallokation in dem MGA Bereich zu verhindern.
Durch die erhöhte PGA Allokation unter 19c ist auch eine Anpassung der Parameter PGA_AGGREGATE_TARGET und PGA_AGGREGATE_LIMIT angezeigt,dadieInstanzeffektivmehr PGA benötigt als per PGA_AGGREGATE_TARGET zugewiesen. Die Performance Probleme sind nach entsprechender PGA Parameteranpassung und Erhöhung des physisch zur Verfügung stehenden Speichers auf Host Ebene weitgehend gelöst – eine Übersicht der Top SQLs, die Potential für effizientere Ausführung haben, wurde zusätzlich geliefert sowie noch einige andere Fragen bezüglich Indizierung, Konfiguration Maintenance Windows, „Killed Sessions“ etc. beantwortet.

Oracle Database
Oracle Database Performance Troubleshooting
Frankfurt am Main
2 Monate
2020-11 - 2020-12

Vorträge DOAG 2020 und IT Tage 2020

Referent Oracle Database Performance Tuning
Referent

Vortrag „Oracle Database Performance Tuning: Back To Basics” in auf der DOAG Konferenz 2020 sowie den IT Tagen 2020

Oracle Database
Oracle Database Performance Tuning
Nürnberg
1 Monat
2020-11 - 2020-11

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Eine hoch frequent aufgerufene Schnittstellen-Funktion arbeitet mindestens 12 Sekunden pro Aufruf – häufig auch länger, was zu einer Warteschlange für die zu verarbeitenden Aufrufe führt. Teilweise müssen solche Aufrufe dann über 20 Minuten in der Warteschlange verbringen, was dann wiederum zu Timeouts in den aufrufenden Systemen führt. Durchschnittlich müssen Anfragen ca. 3 Minuten in der Warteschlange verbringen.

Eine Analyse zeigt, dass ein signifikanter Teil der Verarbeitungszeit in der Datenbank verbracht wird und dort vor allem ein SQL für die Laufzeit maßgeblich verantwortlich ist. Das SQL verwendet einen MINUS Operator, um ein Delta an einzufügenden Daten zu ermitteln. Da in der Zieltabelle Millionen von Datensätzen für diese Operation identifiziert werden und der MINUS Operator eine eindeutige Sortierung dieser Datenmenge benötigt, wird die Laufzeit für diese Sortieroperation maßgeblich über die zu sortierende Datenmenge bestimmt und kann daher nicht ohne weiteres optimiert werden. Leider akzeptiert die Datenbank nicht die automatische Umwandlung der MINUS SET Operation in einen Join (SET_TO_JOIN Transformation), was es erlaubt hätte, ohne Änderung des SQLs diese Umformulierung zu erreichen. Da das SQL aus einem PL/SQL Paket in der Datenbank stammt, ist eine semantisch äquivalente Umformulierung des SQLs von MINUS nach NOT EXISTS technisch möglich, ohne an anderem Quellcode der Applikation Änderungen vornehmen zu müssen. Daher wird dieser Weg eingeschlagen, nachdem mittels entsprechender Tests sichergestellt ist, dass das umformulierte SQL die gleichen Ergebnisse liefert. Da die andere Menge des MINUS Operators in den allermeisten Fällen sehr klein ist, kann der Optimizer aufgrund der Umwandlung des MINUS in einen Join effizientere Zugriffswege verwenden und vor allem die aufwändige Sortierung der großen Datenmenge vermeiden. Das umformulierte SQL benötigt nur noch ca. 3 bis 5 Sekunden zur Ausführung - nach Erzeugung eines geeigneten Index sinkt die Verarbeitungszeit auf Sekundenbruchteile.

Die durchschnittliche Wartezeit von Anfragen nach dieser Änderung sinkt von über 3 Minuten auf 2 Sekunden – Timeouts treten somit keine mehr auf und die allgemeine Verarbeitungsgeschwindigkeit steigt signifikant an.

Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2020-10 - 2020-10

Performance Analyse Applikation Upgrade Oracle 19c

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Performance Analyse der Datenbank-Aktivitäten einer komplexen Auswertungslogik implementiert in PL/SQL nach Upgrade auf Oracle 19c. Einige Abfragen haben sich seit der letzten Analyse im Januar verändert, so dass die vorherig vorgeschlagenen Indizes angepasst werden müssen. Durch Anpassung und Ergänzung geeigneter Indizes kann die Verarbeitungszeit von über 30 Minuten auch für die größten Auswertungen auf unter 10 Minuten reduziert werden, so dass jetzt alle Auswertungen erfolgreich zu Ende laufen und nicht länger als die Timeout-Grenze von 30 Minuten benötigen.

Oracle Database
Oracle Database Performance Troubleshooting
Stuttgart
1 Monat
2020-10 - 2020-10

Optimizer Workshop

Seminarleiter Oracle Database
Seminarleiter

Workshop „Den kostenbasierten Optimizer verstehen“ – grundlegende Prinzipien der Entscheidungsfindung des Optimizers, was kann schief gehen und wie stelle ich das fest, welche Möglichkeiten der Beeinflussung gibt es. Wie liest man Ausführungspläne richtig, wie generiert man Laufzeitprofile von SQL-Ausführungen und wertet diese aus. Wichtige Hinweise, auf was man bei der Statistikgenerierung für den Optimizer achten sollte. Clustering von Daten richtig verstehen und welche Möglichkeiten der Beeinflussung gibt es.

Oracle Database
Oracle Database
Merzig (Saar)
1 Monat
2020-09 - 2020-09

DOAG Expertenseminar ?Datenbank-Performance für Entwickler?

Seminarleiter Oracle Database
Seminarleiter

Öffentliches Expertenseminar für die DOAG (Deutsche Anwender Oracle Gruppe) am 28. und 29.9. mit folgendem Inhalt:

Wie holt man die maximale Performance aus der Datenbank? Was kann ich als Entwickler tun, um bestmöglichst mit der Oracle Datenbank zusammenarbeiten zu können? Wir fangen bei der Instrumentierung an, wie sich Performance in der Datenbank überhaupt auf einfache Art und Weise sichtbar und überprüfbar macht, schauen uns anhand von Fallbeispielen, die an realen Fällen aus der Praxis angelehnt sind, wie der Optimizer funktioniert bzw. nicht funktioniert, wie man Ausführungspläne richtig liest und worauf es bei der Erstellung von Statistiken ankommt. Wir beschäftigen uns mit "guten" und "bösen" Hints und wie diese bei der Erstellung von komplexen SQLs hilfreich sein können. Wir schauen uns an, was man bei der Verwendung von Bind-Variablen bzw. statischem SQL in PL/SQL beachten sollte und wie die optimale Mischung aus Literalen und Bind-Variablen aussehen kann. Und natürlich ist eine gute Indizierung und was es dabei zu beachten gibt eines der Hauptthemen. In diesem Zusammenhang schauen wir uns auch an, was Clustering bedeutet, welche Möglichkeiten neuere Oracle-Versionen hier bieten sowie die unterschiedlichen Speicherformen (Heap, Index Organized, Cluster).

 

Kursinhalte:

 

  • Instrumentierung
  • Trace / Row Source Statistics / Active Session History / Real Time SQL Monitoring
  • Grundlagen Optimizer, Histogramme, Statistiken (inkl. New Features 12c)
  • (serielle) Ausführungspläne richtig lesen
  • Indizierung
  • Clustering / Speicherformen inkl. New Features 12c: Attribute Clustering / Zonemaps, Heap, Index Organized Tables, Cluster
  • Hints
  • Bind Variablen / Literale und ungleichmäßige Datenverteilung
Oracle Database
Oracle Database
DOAG (Deutsche Oracle Anwender Gruppe) GmbH
Berlin / remote
1 Monat
2020-08 - 2020-08

Oracle Database Workshop ?12c/18c/19c New Features?

Seminarleiter Oracle Database
Seminarleiter

Individual Workshop über relevante neue Features der Oracle Datenbank aus Sicht von Datenbank-Entwicklern / Applikationen, die in den neuesten Versionen hinzugefügt wurden

Oracle Database
Oracle Database
Frankfurt am Main
1 Monat
2020-07 - 2020-07

Oracle Datenbank 19c Performance Troubleshooting (Exadata)

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Nach dem Upgrade von Oracle 12.2.0.1 nach 19c (19.6) einer Data Warehouse Datenbank war die Performance signifikant schlechter. In Testumgebungen ist der Effekt zuvor so nicht aufgetreten. Es handelt sich um eine zwei Knoten RAC Datenbank als PDB auf Exadata (X7-2). Eine Analyse ergab folgende Punkte:


- Verschiedene RAC spezifische Bugs, die zu Hängern im Bereich der Cluster Waits („gc“) geführt haben, bei denen SQL-Ausführungen zum Beispiel unendlich auf „gc current request“ gewartet haben. Als initialer Workaround wurde das „read-mostly“ RAC feature deaktiviert und nach Verfügbarkeit und Installation entsprechender One-Off Patches, die leider nicht Teil des eingesetzten RUs waren, traten die Hänger nicht mehr auf


- Ein anderer RAC spezifischer Bug, der zu regelmäßigen Crashes der Instanzen geführt hat, wurde auch durch Installation eines entsprechenden One-Off Patches behoben


- SmartScans funktionierten seit der Installation des Cell Firmware Upgrades nicht mehr, da alle Zellen im Database Level Quarantine Mode agierten aufgrund von drei Crashes innerhalb von drei Stunden. Die verursachende SQL-Operation wurde identifiziert und mittels der Analyse des Cell crash Trace Files wurde klar, dass das Problem mit dem Cell Columnar Flash Cache zusammenhängt. Als initialer Workaround wurde dieses Feature deaktiviert, was es erlaubt hat, die Database Level Quarantine zu entfernen ohne dass es zu weiteren Crashs auf Zellenebene kam. Oracle hatte den Bug in der Zwischenzeit auch identifiziert und in einer neueren Version der Firmware behoben, die dann auch installiert wurde.


- Inkrementelle Statistiken funktionierten nicht mehr nach dem 19c Upgrade, da 19c die von 12.2 generierten Synopsen nicht verarbeiten kann, weil ein PL/SQL Fehler in internen Paketen auftritt, was dazu führt, dass effektiv die globalen Statistiken immer neu berechnet wurden anstatt inkrementelle Statistiken zu verwenden. Bisher steht als Workaround nur zur Verfügung, die Synopsen komplett neu zu berechnen, was keine empfehlenswerte Operation bei einem Multi-Terabyte Data Warehouse ist


- Allgemein ist die Performance des RACs in Produktion maßgeblich beeinflusst von einer signifikanten Zunahme an Cluster bezogenen Warteereignissen, insbesondere beträgt die durchschnittliche Wartezeit 50 mal länger in Produktion (40 ms im Vergleich zu 800 μs) als in Testumgebungen bei vergleichbarer Arbeitslast. Die Root Cause Analyse für dieses unterschiedliche Verhalten ist noch ausstehend zum Zeitpunkt des Schreibens


- Unabhängig vom Upgrade zeigten einige Tabellen sehr merkwürdiges Verhalten in Bezug auf SmartScan Performance und Platzbedarf, was zu sehr schlechter Performance führt – mehr als 60 Sekunden für einen trivialen, parallelen SELECT COUNT(*) einer 20 GB Partition, der Millionen logische I/Os zusätzlich generiert und dadurch den CPU Verbrauch auf den Compute Nodes nach oben treibt, sowie einen signifikant erhöhten Platzbedarf – anstatt 20 GB benötigt eine 1:1 Kopie der gleichen Daten mit gleicher Hybrid Columnar Compression (HCC) Kompressionsstufe nur ca. 400 MB, was 50mal weniger ist. Auch die SmartScan Performance auf dieser Kopie lag im erwarteten Bereich unter einer Sekunde. Block dumps zeigten leere HCC Compression Units und Chained Rows. Die derzeit verwendete Kombination aus HCC und Updates scheint die Daten in einem sehr ungünstigen Zustand zu hinterlassen, was Kompression, Chained Rows und Platzbedarf angeht

Oracle Database
Oracle Database Performance Troubleshooting
Berlin
1 Monat
2020-06 - 2020-06

Oracle Datenbank Performance Troubleshooting

Oracle Datenbank Performance Troubleshooting Spezialist Oracle Database Performance Troubleshooting
Oracle Datenbank Performance Troubleshooting Spezialist

Eine Applikation zur Berechnung der optimalen Fahrtrouten von Paketauslieferungen zeigt immer wieder „Hänger“, bei denen minutenlang Jobs und Abfragen in der Datenbank hängen bleiben, was signifikante Auswirkung auf die gesamte Applikation hat, da die zeitnahe Neuberechnung der Routeninformation gewährleistet sein muss. Dieses Verhalten ist seit einer Datenbereinigungsaktion zu beobachten, bei der Daten aus der Datenbank gelöscht wurden und von der man sich positive Effekte auf die Performance und den Platzbedarf versprochen hat. Die Analyse ergibt, dass es sich um Sperrungen auf der Ebene des sogenannten „Library Caches“ der Oracle Datenbank handelt – der Cache, der vor allem dazu dient, alle verwendeten Objekte und deren Abhängigkeiten untereinander zu verwalten. Dazu muss man wissen, dass DDL Operationen exklusive Sperrungen auf Library Cache Ebene verursachen, als auch das Neuerstellen von Ausführungsplänen. Die erwähnte Applikation verwendet zum Teil partitionierte Tabellen – wobei es sich um eine fragwürdige Verwendung davon handelt, da pro Tag fast 600 neue Partitionen erzeugt werden. Das führt auch dazu, dass tagsüber während hoher Aktivität auf dem System es zu ALTER TABLE DDLs kommt, die neue Partitionen anlegen und somit vorhandene SQLs im Shared Pool invalidieren. Damit kommt es regelmäßig zu „Parse-Stürmen“, bei denen SQLs von vielen Sessions gleichzeitig ausgeführt werden, für diese SQLs aber erst wieder neue Ausführungspläne aufgrund der Invalidierung erzeugt werden müssen. In der Vergangenheit ist dies genauso geschehen, allerdings hat das Neuerstellen der Ausführungspläne nicht außergewöhnlich viel Zeit in Anspruch genommen, so dass die Auswirkung insgesamt vertretbar war. Seit der erwähnten Datenbereinigungsaktion verhielt sich der Optimizer aber anders, was dazu führte, dass die Erstellung des Ausführungsplans von SQLs, die die partitionierten Tabellen verwenden, extrem lange dauern kann – bis zu mehreren Minuten – und in dieser Zeit andere Sessions, die entweder auch das gleiche SQL versuchen auszuführen oder zu parsen, oder andere Sessions, die einen exklusiven Lock auf „Library Cache“ Ebene auf bestimmte Objekte benötigen, so lange warten müssen, bis für dieses SQL ein Ausführungsplan erstellt wurde. Dies führte zu teilweise extremen Wartesituationen. Ursache für die Verhaltensänderung war ein Feature der Datenbank, bei Einsatz von Parallel Execution beim Erstellen eines Ausführungsplans „Dynamic Sampling“ einzusetzen. Dieses „Dynamic Sampling“ kann bei partitionierten Tabellen eine IN Liste der zu samplenden Partitions-IDs bei Erzeugung der rekursiven Abfrage zur Ermittlung von Selektivitäten verwenden – bei höheren Sampling-Leveln kann es hier bis 512 Partitionen aufzählen. Die Verhaltensänderung bestand darin, dass der Sampling Level sich von Level 7 auf Level 8 erhöht hat, da die Tabelle insgesamt ca. 65 Millionen Blöcke hat und dies genau die Grenze darstellt, um von Level 7 auf Level 8 bei der automatischen Anpassung des Leves zu gehen. Daher wurden seitdem eben 512 Partitionen aufgelistet anstatt wie bisher nur 256. Dies wiederum hatte zur Folge, dass der Optimizer in einen Bug gelaufen ist beim Erstellen des Ausführungsplans für die rekursive „Dynamic Sampling“ Abfrage (durch Verlängerung der IN Liste), was dann für die minutenlange Verzögerung bei der Erstellung des Ausführungsplans des eigentlich betroffenen SQLs verantwortlich war. Als Workaround wurde eine Kombination aus SQL Plan Baseline und SQL Patch für die SQLs eingeführt, die von dem Problem maßgeblich betroffen waren bzw. die die meiste Auswirkung auf das System hatten, indem sie andere SQLs blockierten. Die Aufgabe der SQL Plan Baseline war die Fixierung des derzeitigen Ausführungsplans, während die Aufgabe des SQL Patches die Deaktivierung von „Dynamic Sampling“ war. Damit trat der beschriebene Effekt für diese SQLs nicht mehr auf. Die generelle, datenbankweite Abschaltung des Features, das die automatische Erhöhung des „Dynamic Sampling“ Levels bewirkt, wurde evaluiert und wird eventuell eingesetzt, sollte sich das Verhalten auch noch auf andere SQLs auswirken, die mit den bereits etablierten Mitteln nicht behandelt werden können – zum Beispiel SQL Texte, die Literale bzw. variabel lange IN Listen verwenden. Dazu wurde auch evaluiert, in welchem Maße sich die Verwendung von „Dynamic Sampling“ überhaupt derzeit positiv auf die Ausführungspläne auswirkt, um das mögliche Risiko bei Abschalten des Features besser einschätzen zu können.

Oracle Database
Oracle Database Performance Troubleshooting
Oberhaching bei München
1 Monat
2020-05 - 2020-05

Exadata Workshop

Seminarleiter Oracle Database
Seminarleiter

Ausführliche Beschreibung. Demonstration und Diskussion der Oracle Exadata Database Machine in Form eines individuellen Workshops – Aufbau, Features (Storage Cells, Smart Scans, Flash Cache, Persistent Memory, RoCE, Hybrid Columnar Compression etc.), wann profitiert man von den speziellen Exadata Features, Analyse des Istzustands und Bewertung in Bezug auf Nutzungsmöglichkeiten / mögliche Vorteile eines Umstiegs auf Exadata sowie mögliche notwendige Anpassungen der derzeitig etablierten Prozesse (Backup, High Availability etc.) als auch Migrationsstrategien.

Oracle Exadata Database Machine
Oracle Database
Merzig (Saar)
1 Monat
2020-05 - 2020-05

Oracle Datenbank Performance Workshop

Seminarleiter Oracle Database Performance Tuning
Seminarleiter

Individual Workshop zu Oracle Datenbank Performance Themen, insbesondere Locking, Parallelisierung, Indizierung, Analysemöglichkeiten innerhalb der Datenbank

Oracle Database
Oracle Database Performance Tuning
vedisys GmbH
Griesheim, Hessen

Aus- und Weiterbildung

Aus- und Weiterbildung

- Studium der Informatik an der TU Karlsruhe

- Oracle Certified Professional 10g DBA
- Oracle Certified Professional 9i DBA
- Oracle Certified Professional 8i DBA

- Microsoft Certified Professional
- Novell Professional Developer

Position

Position

Mehrere Jahre Erfahrung im Bereich Consulting/Schulung/Entwicklung/Administration

Schwerpunkt: Oracle Database Performance Troubleshooting + Tuning, Proactive Database Design for Performance

Kompetenzen

Kompetenzen

Top-Skills

Oracle Datenbank Performance-Tuning Performance Analyse SQL-Datenbanken Performance

Produkte / Standards / Erfahrungen / Methoden

- Mehrjährige Erfahrung in Oracle DBA-Tätigkeiten, Performance Tuning, Troubleshooting, Datenbank-Architektur und -Design

- Erstellung von UNIX-Skripts zur Automatisierung der Datenbankwartung,
Sicherung, vor Einsatz des Oracle Enterprise Backup-Utilities

- Mehrjährige Erfahrung im Bereich C/C++-Entwicklung (Zusatzentwicklungen an
4GLs, z.B. hardwarenahe Programmierung (serielle Schnittstelle), Sockets-
Programmierung, Erstellung von Diensten unter Windows NT, Erstellung von
ActiveX-Komponenten unter Windows 9x/NT, Erstellung von Services unter UNIX
Erstellung eines hardwarenahen NLMs (DCF77-Signalverarbeitung) unter
Novell 3.x,4.x,5.x, Erstellung eines eigenen ODBC 1.x/2.x-kompatiblen Treibers)

- Microsoft OLAP (SQL Server 2000 & Microsoft Analysis Services), ETL-Prozeß,
Überführung der OLTP-Daten in Data Warehouse, Implementierung Star-Schema,
Definition und Implementierung der benötigten Dimensionen, Kennzahlen und
berechnete Kennzahlen, Definition der OLAP-Würfel

- Erstellung von plattformunabhängigen, mehrsprachigen DBA-Werkzeugen
mittels Java (Swing/JDBC)

- Mehrjährige Erfahrung im Schulungsbereich (Oracle DBA, SQL, Microsoft Visual C++,
Centura Produkte)

- Mehrjährige Erfahrung im Produktentwicklungsbereich (Produkt KISSMED
=> Krankenhausinformationssystem) mit 4GL-Sprachen,
Oracle-Datenbanken und UNIX-Systemen (HP-UX, SUN Solaris)

- Mehrjährige Erfahrung mit Kommunikationsservern z.B. DataGate, CloverLeaf
und Kommunikationsprotokollen (HL7, xDT usw.)

- Erfahrung mit Software AG Produkten (Bolero, Tamino (XML/SQL-Datenbank))

Betriebssysteme

HPUX
10.20, 11
MS-DOS
Novell
3.x, 4.x, 5.x
PalmOS
Erfahrung mit PalmOS SDK
SUN OS, Solaris
2.5, 2.6, 7, 8
Unix
AIX, Linux, SCO
Windows
3.x,95,98,NT,2000, XP

Programmiersprachen

Basic
Visual Basic (Version 3 bis 6)
C
Visual C/C++ (V1.52 (16bit) bis Visual Studio Version 6), Borland C++ (Version 3 bis 5)
C++
Visual C/C++ (V1.52 (16bit) bis Visual Studio Version 6), Borland C++ (Version 3 bis 5)
CodeWarrior
Version 2 bis 4 (auf PC), auch als Crosscompiler (PalmOS SDK)
CORBA IDL
in Zusammenhang mit EJB/Java/Oracle 8i
Delphi
Version 2 und 3
Gupta, Centura
SQLWindows, SQLWindows 32, CTD, auch TOM, CDK usw.
Java
JDK 1.1.x, 1.2.x, 1.3, 1.4, Beans, EJB, Swing/JDBC, SQLJ, JSP
JavaScript
JDK 1.1.x, 1.2.x, 1.3, 1.4, Beans, EJB, Swing/JDBC, SQLJ, JSP
Lisp
STC DataGate-Programmierung (MONK basierend auf LISP)
Makrosprachen
VBA, WordBasic
Pascal
Turbo Pascal, Borland Pascal, später Delphi
PL/SQL
Oracle 7 und 8, 8i, 9i, WebDB und Portal 3.0 (PSP PL/SQL Server Pages)
SAL
SQLWindows und SQLWindows/32 (CTD)
Scriptsprachen
awk (Unix)
Shell
Bourne shell, Bourne again shell (bash) Posix-Shell (HP-UX), Korn Shell, awk-Programmierung

Datenbanken

Access
Adabas
Version 7 und 11
BDE
Version 5.x (Delphi)
Gupta, Centura
SQLBase 5, 6, 7, 7.5
JDBC
Lotus Notes
MS SQL Server
4.2, 6.5, 7, 2000 & Analysis Services (MS OLAP)
ODBC
Oracle
7.0-7.3, 8.0, 8i, 9i, 9iR2, 10g, 10gR2
Oracle Database
Oracle Database Performance Troubleshooting
Oracle Database Performance Tuning
Oracle Exadata Database Machine
SQL
Oracle SQL, Microsoft SQL

Datenkommunikation

Novell
Router
RPC
SMTP
SNMP
TCP/IP
Winsock

Hardware

HP
HP 9000-Server (A, D, K, L und R-Klasse)
IBM RS6000
F50, P43
PC
Mehrprozessor High-End-Systeme mit Hardware-Cache-Controller
SUN
Enterprise 3000, 4000, 3500, 4500

Branchen

Branchen

- Banken, Versicherungen
- Industrie (Logistik, Grund- und Stadtentwicklung)
- Gesundheitswesen, Medizin
- ...

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.