Zur Beeinflussung der Laufzeit von SQL-Statements gibt es diverse Verfahren, Optimierung der SQL-Syntax, Nutzung von Optimizer-Hints etc. .
Diese erfordern aber oftmals ein Ausrollen der geänderten Software mit dem entsprechenden Zeit- und Prozessaufwand bis zur produktiven Aktivierung.
In kritischen Produktions-Szenarien ist oft eine schnellere Lösung von Problemen mit SQL-Ausführung nötig.
Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB sich SQL-Ausführungen auch ohne Ausrollen von Software-Änderungen ad hoc beeinflussen lassen.
Das Tool Panorama erlaubt dabei über GUI die Identifikation der kritischen SQL und Generierung der für ihre schnelle Optimierung nötigen komplexen DB-Kommandos.
Performance-Analyse von Oracle-Datenbanken mit PanoramaPeter Ramm
Panorama ermöglich schnelle Analyse des Betriebsverhaltens von Oracle-DB mit diversen Workflows als Alternative zum manuellen Hantieren mit SQL-Skripten.
Es unterstützt ebenso die detaillierte Analyse zurückliegender Ereignisse plus diverse andere Funktionen, die ich teilweise in anderen etablierten Tools vermisste.
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für PanoramaPeter Ramm
Panorama-Sampler erlaubt die rückwirkende Bewertung von Betriebszuständen der Oracle-DB durch aktive Aufzeichnung der Historie.
Ähnlich dem AWR der Enterprise Edition werden diverse Aspekte protokolliert, inkl. Session- und SQL-Historie.
Rückwirkende Betrachtungen werden somit möglich ohne Lizenzierung des Diagnostics Pack und damit auch nutzbar für Standard Edition.
Oracle-DB: Sicheres Identifizieren von nicht relevanten indizesPeter Ramm
Ein äußerst heikles Thema für DBAs und Entwickler ist vielfach das Erkennen und Entfernen von nicht bzw. nicht mehr relevanten Indizes.
Im worst case finden sich in der Praxis über Jahre gewachsene Systeme mit über 50% des Storagebedarfes durch Indizes ohne produktive Relevanz.
Trotzdem wird dieses Potential zur einfachen Reduktion von Storagebedarf und Systemlast regelmäßig nicht genutzt, frei nach "never touch a running system" bzw. "warum soll ich mir hier die Finger verbrennen und dann braucht doch jemand diesen Index".
Die Folien demonstrieren die Vorgehensweise für:
- Ermittlung der in Frage kommenden nicht genutzten Indizes als Kandidaten für die detaillierte Prüfung auf eventuelle Verzichtbarkeit
- sichere Bewertung der Relevanz oder Irrelevanz eines Index für Zugriffsoptimierung, Eindeutigkeit oder Absicherung von Foreign Key Constraints
Oracle-DB: Active Session History: into the deepPeter Ramm
Die seit Oracle 10g verfügbaren historisierten Zustandsinformationen aktiver DB-Sessions ermöglichen die Rekonstruktion des Betriebsverhaltens der Oracle-DB in kaum vermuteter Detailschärfe.
Der Vortrag demonstriert spezifisch mit dem Fokus active session history die Top-Down-Vorgehensweise in der Analyse zeitlich zurückliegender Performance-Probleme mit dem Ziel, Ursachen zu identifizieren und konkrete Lösungsvorschläge für DBA bzw. Applikationsentwickler zu erarbeiten.
Diverse In-Memory-Technologien sind bereits seit langer Zeit verfügbar, wie z.B. Result Caches, verschiedene Buffer Caches, Pre-Loading von Objekten etc. Die aktuellste Oracle12c-Version geht jedoch einen großen Schritt weiter. Ohne Änderungen werden SQL-Abfragen um Faktoren beschleunigt; die Grundlage für Real-Time Analysen ist damit gelegt. Wie die einzelnen Techniken funktionieren und mit welchem geríngem Aufwand sie konfiguriert werden, wird erklärt.
Performance-Analyse von Oracle-Datenbanken mit PanoramaPeter Ramm
Panorama ermöglich schnelle Analyse des Betriebsverhaltens von Oracle-DB mit diversen Workflows als Alternative zum manuellen Hantieren mit SQL-Skripten.
Es unterstützt ebenso die detaillierte Analyse zurückliegender Ereignisse plus diverse andere Funktionen, die ich teilweise in anderen etablierten Tools vermisste.
Oracle-DB: Panorama-Sampler - Eigenes Workload Repository für PanoramaPeter Ramm
Panorama-Sampler erlaubt die rückwirkende Bewertung von Betriebszuständen der Oracle-DB durch aktive Aufzeichnung der Historie.
Ähnlich dem AWR der Enterprise Edition werden diverse Aspekte protokolliert, inkl. Session- und SQL-Historie.
Rückwirkende Betrachtungen werden somit möglich ohne Lizenzierung des Diagnostics Pack und damit auch nutzbar für Standard Edition.
Oracle-DB: Sicheres Identifizieren von nicht relevanten indizesPeter Ramm
Ein äußerst heikles Thema für DBAs und Entwickler ist vielfach das Erkennen und Entfernen von nicht bzw. nicht mehr relevanten Indizes.
Im worst case finden sich in der Praxis über Jahre gewachsene Systeme mit über 50% des Storagebedarfes durch Indizes ohne produktive Relevanz.
Trotzdem wird dieses Potential zur einfachen Reduktion von Storagebedarf und Systemlast regelmäßig nicht genutzt, frei nach "never touch a running system" bzw. "warum soll ich mir hier die Finger verbrennen und dann braucht doch jemand diesen Index".
Die Folien demonstrieren die Vorgehensweise für:
- Ermittlung der in Frage kommenden nicht genutzten Indizes als Kandidaten für die detaillierte Prüfung auf eventuelle Verzichtbarkeit
- sichere Bewertung der Relevanz oder Irrelevanz eines Index für Zugriffsoptimierung, Eindeutigkeit oder Absicherung von Foreign Key Constraints
Oracle-DB: Active Session History: into the deepPeter Ramm
Die seit Oracle 10g verfügbaren historisierten Zustandsinformationen aktiver DB-Sessions ermöglichen die Rekonstruktion des Betriebsverhaltens der Oracle-DB in kaum vermuteter Detailschärfe.
Der Vortrag demonstriert spezifisch mit dem Fokus active session history die Top-Down-Vorgehensweise in der Analyse zeitlich zurückliegender Performance-Probleme mit dem Ziel, Ursachen zu identifizieren und konkrete Lösungsvorschläge für DBA bzw. Applikationsentwickler zu erarbeiten.
Diverse In-Memory-Technologien sind bereits seit langer Zeit verfügbar, wie z.B. Result Caches, verschiedene Buffer Caches, Pre-Loading von Objekten etc. Die aktuellste Oracle12c-Version geht jedoch einen großen Schritt weiter. Ohne Änderungen werden SQL-Abfragen um Faktoren beschleunigt; die Grundlage für Real-Time Analysen ist damit gelegt. Wie die einzelnen Techniken funktionieren und mit welchem geríngem Aufwand sie konfiguriert werden, wird erklärt.
Der Vortrag zum Thema Migration war Teil der OPITZ CONSULTING Veranstaltungsreihe zum Thema Oracle 11gR2 Erfahrungen an verschiedenen Standorten unserer IT-Beratung. Die Migration von Datenbanken erfolgt aus verschiedenen Gründen: Für die eine Datenbank wurde der Wechsel der Hardware-Architektur oder der Austausch des Betriebssystems beschlossen. Eine zweite Datenbank soll an die neueste Version der Datenbank-Software angepasst werden. Die dritte Datenbank wird von einem Test- in ein Produktivsystem übernommen. Der Referent Christian Ballweg klärt die Begriffe Migration und Upgrade und zeigt Möglichkeiten der Übernahme einer Datenbank auf neue Plattformen durch die Techniken Import, Transportable Tablespaces und Data Guard. Dabei werden Vor- und Nachteile sowie die erforderliche Downtime betrachtet.
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)Ulrike Schwinn
Schon seit vielen Jahren ist die Komprimierung von Daten ein wichtiger Bestandteil der Oracle Datenbank und wird beständig weiterentwickelt. Dies zeigte sich besonders auch im Datenbankrelease 11g mit der Einführung von neuen Techniken im Zusammenhang mit der neuen Option Advanced Compression. Die Komprimierung ist nun beispielsweise unabhängig vom Anwendungs– Workload und zusätzlich um die Bereiche unstrukturierte Daten, Backup Daten und Netzwerk (im Data Guard Umfeld) Komprimierung erweitert worden.
In Oracle Database 12c sind sogar Eigenschaften zur Verbesserung des Storage Management ergänzt worden. DieSlides geben einen Übernlick über den Stand der Komorimierung in der Oracle datenabnk bis zum aktuellen Release Stand
Diese Präsentation gibt eine Einführung in die neuen Features der Oracle Datenbank 12c. Neben der neuen Datenbankoption Multitenant, werden die wichtigsten Erweiterungen in den Bereichen Information Lifecycle Management, Datensicherheit und Hochverfügbarkeit vorgestellt.
SQL Server 2016 ist der nächste logische und evolutionäre Schritt in der Entwicklung des SQL Server. In der Roadshow gab Referent Dieter Rüetschi den Teilnehmern die Entscheidungsgrundlage für eine Migration mit auf den Weg.
In der Roadshow wurden die evolutionären Erweiterungen, welche Microsoft SQL Server 2016 bietet, vorgestellt. Dazu gehören die höhere Performance dank verbesserter In-Memory-Leistung, die nächste Generation der Hochverfügbarkeit durch Always On, bessere Skalierbarkeit und erweiterte Reporting-Möglichkeiten. Zudem bietet SQL Server 2016 sowohl lokal wie auch in der Cloud eine einheitliche Umgebung - was das Arbeiten unabhängig davon macht, ob Ihre Daten in Ihrem Rechenzentrum oder in Ihrer Private Cloud sind.
Neben den Erweiterungen gab Dieter Rüetschi auch einen Einblick in die fundamentalen neuen Techniken, welche in SQL Server 2016 eingesetzt werden. Besonders erwähnt seien hier die Advanced Analytics, Query Data Store, und die Always Encrypted Technologie.
Gerne stellen wir Ihnen die Slides der SQL Server 2016 Roadshow zur Verfügung.
Diese Präsentation zeigt das Oracle Portfolio im Bereich Ausfallsicherheit auf Oracle Datenbankebene. Ich habe sie 2012 erstellt und in verschiedenen Kundenwebcasts gezeigt.
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und an Beispielen erklärt. In Teil 1 handelt es sich dabei um folgende Packages:
DBMS_XDB_CONFIG
DBMS_COMPRESSION
DBMS_REDEFINITION
DBMS_SQL_MONITOR
DBMS_PARALLEL_EXECUTE
Xpages Anwendungen lassen sich recht leicht per Drag & Drop und ein wenig Code erstellen. In den meisten Fällen reicht dies auch aus, wenn es um die Arbeit mit wenig Datensätzen geht und die Anwendung selber nicht sonderlich kompliziert ist. Dringt man aber tiefer in die Programmierung ein, so wird man nicht selten mit Performanceproblemen konfrontiert.
Die Session zeigt auf, wo in einer Anwendung ( und auch ausserhalb ) die Performancefresser stecken und wie man diesen auf die Schliche kommt. Die Installation des OpenNTF Xpages Toolkit und die Anwendung der Toolbox werden an einem praktischen Beispiel erläutert. Dabei wird aus einer anfänglich nicht performanten Anwendung Schritt für Schritt eine performante Applikation.
Agenda:
Performance, was kann bremsen ?
Java vs. JavaScript
Daten vorbereiten, ViewNavigator vs. GetNextDocument
Stringbuilder vs. Concat
Phase Listener
Partial Refresh / Partial Execute
Variable resolver
Der Oracle Database In-Memory Advisor kann die Performance-Vorteile der In-Memory Option für eine konkrete DB abschätzen. Der Advisor kann bereits in einer 11g Datenbank ausgeführt werden.
Lang ersehnt und endlich verfügbar: Mit Oracle Database 18c gibt es jetzt auch private temporäre Tables (engl. private temporary tables). Wie funktionieren diese? Was muss man berücksichtigen? Welche Anwendungsfälle gibt es? Antworten auf diese Fragen gibt es zusätzlich auch in unserem Blog unter https://apex.oracle.com/pls/apex/germancommunities/dbacommunity/tipp/6581/index.html
Diese Präsentation gibt eine Einführung in Oracle GoldenGate (Stand 11.2). Die Funktionsweise, die Eigenschaften und die Anwendungsszenarien von Oracle GoldenGate werden grob umrissen.
Replikation im heterogenen Umfeld mit Oracle GoldenGateIleana Somesan
Replikation mit Oracle GoldenGate im heterogenen Umfeld. Slides von unserer Workshop-Reihe "Oracle GoldenGate-Das Startpaket" (September - Dezember 2013)
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2005 hervorzusagen. Auf der Liste sind:
- Open Source / Free Software
- WebAnalytics
- Compression
- VoIP
- Rich Thin Clients
- WiFi/WiMax
- SOA (Service-oriented architecture)
- Flash Streaming
- DAISY
- Folksonomy
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?KurtStockinger
Applikationen und Datenbanken generieren Logfiles, deren Inhalte wichtige Aussagen über Zugriffsmuster enthalten. So kann ermittelt werden, welche Produkte am häufigsten abgefragt werden oder welche Kundentrends sich abzeichnen. In diesem Vortrag beleuchten wir zunächst die Problematik anhand von praktischen Use Cases. Danach zeigen wir, wie sich die Probleme mit einem herkömmlichen Datenbankansatz, mit Hadoop und mit Splunk lösen lassen.
SQL Tuning Sets sind seid jeher ein wichtiges Mittel in der Datenbank um SQL Workloads in der Datenbank zu speichern. Sie geben schnell Aufschluss über das verwendete SQL und bieten eine gute Grundlage zum Tuning oder für Advisors.
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...Ileana Somesan
Der Vortrag wurde auf der DOAG Konferenz im November 2012 gehalten. Mit Hilfe von Oracle GoldenGate lassen sich 1.) Oracle-Daten in eine MySQL Datenbank laden, 2.) eine Oracle und eine MySQL Datenbank dauerhaft auf dem gleichen Stand halten.
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Lars Platzdasch
SQL Server Optimierung für SharePoint 2013
Mehr als 90% des SharePoint Inhalts ist im SQL Server gespeichert. Ohne eine korrekte Konfiguration des SQL Servers sind Performance Probleme vorprogrammiert. Es spielt keine Rolle, ob Sie SQL DBA oder SharePoint Admin sind. Es geht darum, den SQL Server und den SharePoint zu optimieren.
Diese Session zeigt, welche Default Einstellungen Probleme verursachen und mit welchen Mitteln Sie diese beheben können. Eine Best Practice Session bis hin zum Diagnose Deep Dive.
Lars PLatzdasch / PASS / SQL Server Konferenz 2015
Das Build-System wurde mit dem TFS 2015 von Grund auf neu konzipiert. Trends wie Cross-Plattform-Entwicklung für unterschiedlichste Cloud-, Desktop-, Server- und Mobilplattformen wurden von Beginn an bei der Neuentwicklung adressiert. Das Definieren von Build-Prozessen ist ebenfalls deutlich einfacher geworden und die Komplexität von XAML-basierten Workflows wurde entfernt. Das Releasemanagement, für das automatisierte Deployment und Testen der Software, setzt nun ebenfalls auf dem Konzept des neuen Build-Systems auf und wurde eng in TFS und Web Access integriert.
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Sebastian Huppmann
Die Präsentation stellt eine Anleitung dar um eine SharePoint 2013 Entwicklungsumgebung innerhalb von Windows Azure automatisch via PowerShell zu erstellen. Hierbei wird nicht nur der praktische Weg erläutert, sondern zunächst auch auf die Vor- und Nachteile, sowie den Kosten und das Einsparungspotenzial eingegangen.
Der Vortrag zum Thema Migration war Teil der OPITZ CONSULTING Veranstaltungsreihe zum Thema Oracle 11gR2 Erfahrungen an verschiedenen Standorten unserer IT-Beratung. Die Migration von Datenbanken erfolgt aus verschiedenen Gründen: Für die eine Datenbank wurde der Wechsel der Hardware-Architektur oder der Austausch des Betriebssystems beschlossen. Eine zweite Datenbank soll an die neueste Version der Datenbank-Software angepasst werden. Die dritte Datenbank wird von einem Test- in ein Produktivsystem übernommen. Der Referent Christian Ballweg klärt die Begriffe Migration und Upgrade und zeigt Möglichkeiten der Übernahme einer Datenbank auf neue Plattformen durch die Techniken Import, Transportable Tablespaces und Data Guard. Dabei werden Vor- und Nachteile sowie die erforderliche Downtime betrachtet.
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)Ulrike Schwinn
Schon seit vielen Jahren ist die Komprimierung von Daten ein wichtiger Bestandteil der Oracle Datenbank und wird beständig weiterentwickelt. Dies zeigte sich besonders auch im Datenbankrelease 11g mit der Einführung von neuen Techniken im Zusammenhang mit der neuen Option Advanced Compression. Die Komprimierung ist nun beispielsweise unabhängig vom Anwendungs– Workload und zusätzlich um die Bereiche unstrukturierte Daten, Backup Daten und Netzwerk (im Data Guard Umfeld) Komprimierung erweitert worden.
In Oracle Database 12c sind sogar Eigenschaften zur Verbesserung des Storage Management ergänzt worden. DieSlides geben einen Übernlick über den Stand der Komorimierung in der Oracle datenabnk bis zum aktuellen Release Stand
Diese Präsentation gibt eine Einführung in die neuen Features der Oracle Datenbank 12c. Neben der neuen Datenbankoption Multitenant, werden die wichtigsten Erweiterungen in den Bereichen Information Lifecycle Management, Datensicherheit und Hochverfügbarkeit vorgestellt.
SQL Server 2016 ist der nächste logische und evolutionäre Schritt in der Entwicklung des SQL Server. In der Roadshow gab Referent Dieter Rüetschi den Teilnehmern die Entscheidungsgrundlage für eine Migration mit auf den Weg.
In der Roadshow wurden die evolutionären Erweiterungen, welche Microsoft SQL Server 2016 bietet, vorgestellt. Dazu gehören die höhere Performance dank verbesserter In-Memory-Leistung, die nächste Generation der Hochverfügbarkeit durch Always On, bessere Skalierbarkeit und erweiterte Reporting-Möglichkeiten. Zudem bietet SQL Server 2016 sowohl lokal wie auch in der Cloud eine einheitliche Umgebung - was das Arbeiten unabhängig davon macht, ob Ihre Daten in Ihrem Rechenzentrum oder in Ihrer Private Cloud sind.
Neben den Erweiterungen gab Dieter Rüetschi auch einen Einblick in die fundamentalen neuen Techniken, welche in SQL Server 2016 eingesetzt werden. Besonders erwähnt seien hier die Advanced Analytics, Query Data Store, und die Always Encrypted Technologie.
Gerne stellen wir Ihnen die Slides der SQL Server 2016 Roadshow zur Verfügung.
Diese Präsentation zeigt das Oracle Portfolio im Bereich Ausfallsicherheit auf Oracle Datenbankebene. Ich habe sie 2012 erstellt und in verschiedenen Kundenwebcasts gezeigt.
Einige ausgewählte Oracle PL/SQL Packages aus Version 11g und 12c werden kurz beschrieben und an Beispielen erklärt. In Teil 1 handelt es sich dabei um folgende Packages:
DBMS_XDB_CONFIG
DBMS_COMPRESSION
DBMS_REDEFINITION
DBMS_SQL_MONITOR
DBMS_PARALLEL_EXECUTE
Xpages Anwendungen lassen sich recht leicht per Drag & Drop und ein wenig Code erstellen. In den meisten Fällen reicht dies auch aus, wenn es um die Arbeit mit wenig Datensätzen geht und die Anwendung selber nicht sonderlich kompliziert ist. Dringt man aber tiefer in die Programmierung ein, so wird man nicht selten mit Performanceproblemen konfrontiert.
Die Session zeigt auf, wo in einer Anwendung ( und auch ausserhalb ) die Performancefresser stecken und wie man diesen auf die Schliche kommt. Die Installation des OpenNTF Xpages Toolkit und die Anwendung der Toolbox werden an einem praktischen Beispiel erläutert. Dabei wird aus einer anfänglich nicht performanten Anwendung Schritt für Schritt eine performante Applikation.
Agenda:
Performance, was kann bremsen ?
Java vs. JavaScript
Daten vorbereiten, ViewNavigator vs. GetNextDocument
Stringbuilder vs. Concat
Phase Listener
Partial Refresh / Partial Execute
Variable resolver
Der Oracle Database In-Memory Advisor kann die Performance-Vorteile der In-Memory Option für eine konkrete DB abschätzen. Der Advisor kann bereits in einer 11g Datenbank ausgeführt werden.
Lang ersehnt und endlich verfügbar: Mit Oracle Database 18c gibt es jetzt auch private temporäre Tables (engl. private temporary tables). Wie funktionieren diese? Was muss man berücksichtigen? Welche Anwendungsfälle gibt es? Antworten auf diese Fragen gibt es zusätzlich auch in unserem Blog unter https://apex.oracle.com/pls/apex/germancommunities/dbacommunity/tipp/6581/index.html
Diese Präsentation gibt eine Einführung in Oracle GoldenGate (Stand 11.2). Die Funktionsweise, die Eigenschaften und die Anwendungsszenarien von Oracle GoldenGate werden grob umrissen.
Replikation im heterogenen Umfeld mit Oracle GoldenGateIleana Somesan
Replikation mit Oracle GoldenGate im heterogenen Umfeld. Slides von unserer Workshop-Reihe "Oracle GoldenGate-Das Startpaket" (September - Dezember 2013)
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2005 hervorzusagen. Auf der Liste sind:
- Open Source / Free Software
- WebAnalytics
- Compression
- VoIP
- Rich Thin Clients
- WiFi/WiMax
- SOA (Service-oriented architecture)
- Flash Streaming
- DAISY
- Folksonomy
Analyse von Applikationslogs und Querylogs: Datenbanken, Hadoop oder Splunk?KurtStockinger
Applikationen und Datenbanken generieren Logfiles, deren Inhalte wichtige Aussagen über Zugriffsmuster enthalten. So kann ermittelt werden, welche Produkte am häufigsten abgefragt werden oder welche Kundentrends sich abzeichnen. In diesem Vortrag beleuchten wir zunächst die Problematik anhand von praktischen Use Cases. Danach zeigen wir, wie sich die Probleme mit einem herkömmlichen Datenbankansatz, mit Hadoop und mit Splunk lösen lassen.
SQL Tuning Sets sind seid jeher ein wichtiges Mittel in der Datenbank um SQL Workloads in der Datenbank zu speichern. Sie geben schnell Aufschluss über das verwendete SQL und bieten eine gute Grundlage zum Tuning oder für Advisors.
Oracle GoldenGate: Synchronisation zwischen Oracle und MySQL Datenbanken, Nov...Ileana Somesan
Der Vortrag wurde auf der DOAG Konferenz im November 2012 gehalten. Mit Hilfe von Oracle GoldenGate lassen sich 1.) Oracle-Daten in eine MySQL Datenbank laden, 2.) eine Oracle und eine MySQL Datenbank dauerhaft auf dem gleichen Stand halten.
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Lars Platzdasch
SQL Server Optimierung für SharePoint 2013
Mehr als 90% des SharePoint Inhalts ist im SQL Server gespeichert. Ohne eine korrekte Konfiguration des SQL Servers sind Performance Probleme vorprogrammiert. Es spielt keine Rolle, ob Sie SQL DBA oder SharePoint Admin sind. Es geht darum, den SQL Server und den SharePoint zu optimieren.
Diese Session zeigt, welche Default Einstellungen Probleme verursachen und mit welchen Mitteln Sie diese beheben können. Eine Best Practice Session bis hin zum Diagnose Deep Dive.
Lars PLatzdasch / PASS / SQL Server Konferenz 2015
Das Build-System wurde mit dem TFS 2015 von Grund auf neu konzipiert. Trends wie Cross-Plattform-Entwicklung für unterschiedlichste Cloud-, Desktop-, Server- und Mobilplattformen wurden von Beginn an bei der Neuentwicklung adressiert. Das Definieren von Build-Prozessen ist ebenfalls deutlich einfacher geworden und die Komplexität von XAML-basierten Workflows wurde entfernt. Das Releasemanagement, für das automatisierte Deployment und Testen der Software, setzt nun ebenfalls auf dem Konzept des neuen Build-Systems auf und wurde eng in TFS und Web Access integriert.
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Sebastian Huppmann
Die Präsentation stellt eine Anleitung dar um eine SharePoint 2013 Entwicklungsumgebung innerhalb von Windows Azure automatisch via PowerShell zu erstellen. Hierbei wird nicht nur der praktische Weg erläutert, sondern zunächst auch auf die Vor- und Nachteile, sowie den Kosten und das Einsparungspotenzial eingegangen.
Qualitätsstandards in der Datenbankentwicklung.pdfOliver Lemm
Die Qualität von Anwendungen, welche im Daten in der Datenbank speichern beruht zu großen Teilen auf der Qualität des Datenbankmodells, der Codequalität und den Daten selber.
In diesem Vortrag werden für alle 3 Kategorien Qualitätsstandards vorgestellt, die maßgeblich sind für eine hohe Qualität. Gerade im Bereich des Datenmodells, lassen sich viele logische Fehler innerhalb der Daten durch ein möglichst restriktives Datenmodell inklusive passender Metadaten verhindern. Auch in Bezug auf Definition von Berechtigungen oder Auswertungen sind sauber definierte Datenmodelle der Schlüssel zum Erfolg. Im Code gilt es dann angefangen von Code Guidelines, bis hin zu Best Practices im Bereich Logging, Exception Handling und allgemeiner Logik passend einfließen zu lassen.
Zuletzt sind Anforderung im Bereich der Stammdaten oder erwartete Mengen von Daten in bestimmten Tabellen ein Ansatz um böse Überraschungen zu vermeiden. Insgesamt hilft dieser Vortrag jedem der einem der den hohen Qualitätsstandards heutiger Anwendungen im Bereich der Datenbankentwicklung gerecht werden will.
Agile Oracle database modeling and development - APEX Connect 2020Torsten Kleiber
We try to develop our features agile in branches and to merge them when they are ready for use.
Test Driven Development is on everyone's lips in Java and other languages.
Whether we develop ADF or JET or Spring, we try to apply these techniques in many places.
But what is the real foundation of most of our applications?
That is the Oracle database with its data model and its programming language PL/SQL!
Again and again you hear that merging data model scripts and PL/SQL programs are not practical.
But how are we supposed to develop our frontend according to these techniques if we don't start with it in the backend?
In the presentation I will show you how you can develop your data model and your programs in the database in an agile and test-driven way from the request to the refactoring.
You will see how tools like Git, Liquibase and utPLSQL work together.
"Continuous Delivery as a Way of Life" presented by
Torsten Hamper, System Architect, Head of Platform Engineering and Manuel Kiessling, Software Architect, both Galeria Kaufhof GmbH at the first First Agile at Scale - Köln Meetup on January 16, 2019. - https://www.meetup.com/de-DE/Agile-at-Scale-Koln-Meetup/
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
JAX 2017, Mainz: Vortrag von Josef Fuchshuber (@fuchshuber, Cheftechnologe bei QAware) und Tobias Placht (@knacht, Software Ingenieur bei QAware).
Abstract: Wie oft kannst du ein neues Feature releasen? Jede Woche? Jeden Tag? Jede Stunde? Continuous Delivery ist einer der wesentlichen Treiber, warum wir Cloud-native Anwendung bauen. Für Software-driven Organisationen ist das der Schlüssel für eine sicherere, stabilere Software bei minimiertem Risiko und kurzen Feedbackschleifen. Die Herausforderung dabei ist, aus jeder Codeänderung möglichst schnell eine lauffähige und gründlich getestete Software zu machen. Das ist für viele Firmen ein wesentlicher Wettbewerbsvorteil. Wir zeigen in diesem Vortrag eine Werkzeugkette, mit der Continuous Delivery nicht nur für Cloud-native Anwendungen, sondern auch auf Cloud-nativer Infrastruktur möglich ist. Ganz im Gedanken von „Everything is Code“ betrachten wir dabei nicht nur das Bauen und Testen von Software, sondern auch die Automatisierung der Infrastrukturbereitstellung, der Deployments und Roll-outs. Dabei treffen alte Bekannte (z.B. Jenkins, SonarQube) auf Cloud-Computing-Technologien wie z.B. Docker für Betriebssystemvirtualisierung und DC/OS für das Clustermanagement.
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
Mit den stetig wachsenden Möglichkeiten, die Cross-Platform-Anwendungen bieten, wachsen auch die Anforderungen an deren Design. Skalierbarkeit, Flexibilität und Wandelbarkeit gehören zu den Grundprinzipien eines modernen User-Interfaces. Andreas Wissel und Christian Liebel erarbeiten mit Ihnen in diesem Workshop anhand von Praxisbeispielen einen robusten Workflow. Mit Storybook und Angular lassen sich so isolierte, test- und wartbare Komponenten im Handumdrehen umsetzen. Ihre Designer und Entwickler werden es lieben.
Oracle implementierte über 500 neue Funktionen in die neuste Datenbankversion 12c. Da ist es schwierig, eine einzelne neue Funktion herauszupicken. Multitenant Pluggable Database, Life Cycle Management oder neue Funktionen im Bereich «High Availablity» sind nun verfügbar.
Fachspezialisten von Oracle gaben im Rahmen der Partnerschaft von Digicomp zu Oracle University einen Einblick in die Fülle und die Möglichkeiten der Version 12c.
Die Inhalte zielen auf alle Benutzergruppen der Oracle-DB: Administratoren, Entwickler, technische Berater, Consultants, High-Level-Manager, IT-Entscheider und alle anderen mit Interesse an der Weiterentwicklung der DB.
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
Präsentation zu meinem Vortrag bei der EnterJS 2015.
ECMAScript 2015, der Standard, der als Grundlage für die Implementierung von JavaScript dient, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig, und neuere Browser setzen sie bis zu einem gewissen Grad bereits um. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES 2015 ausliefern, da es eben nicht alle relevanten Browser unterstützen. In diesem Vortrag erfahren Sie, wie sich heute schon mit Transpilern und Polyfills in ES 2015 entwickeln lässt und welche Vorteile das bietet. Anhand von Codebeispielen wird gezeigt, wie man proprietäre Lösungen wie RequireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicher macht.
Die wachsende Komplexität von Geschäfts- und Internetanwendungen und gestiegenen Erwartungen an die Agilität der Entwicklung verlangen einen neuen, effizienteren Ansatz zur Systementwicklung im Team.
Automatisierung in hochskalierenden Umgebungen werden vom üblichen Push-Deployment-Ansatz ausgebremst.
Das z2-Environment addressiert beide Problembereiche.
Wer professionelle Webentwicklung betreibt, braucht einen gut funktionierenden Deployment-Prozess, um Updates von den lokalen Rechnern der Entwickler problemlos auf Test-, Stage- und Live-Server zu bekommen ohne dort die Datenbestände zu gefährden.
In dieser Session zeigen wir das Drupal-Deployment in einem neuen Workflow.
Mit von der Partie sind:
Features
Strongarm
Update- und Drush-Scripts
Updatescript- und Drushscript-Prozessor
Git und eine Repository-Strategie
Jenkins Continous Integration
Codemetriken und Codeanalyse beim Deployment
Ähnlich wie Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anpassung (20)
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anpassung
1. Oracle-DB
Beeinflussen der Ausführungspläne von
SQL-Statements ohne Code-Anpassung
Verschiedene Verfahren und ihre Unterstützung durch Panorama
April 2018Peter Ramm, OSP Dresden
3. zur Person
Peter Ramm
Teamleiter strategisch-technische Beratung bei OSP Dresden
> 20 Jahre Historie in IT-Projekten
Schwerpunkte:
• Entwicklung von OLTP-Systemen auf Basis von Oracle-
Datenbanken
• Architektur-Beratung bis Trouble-Shoo]ng
• Performance-Op]mierung bestehender Systeme
Mail: Peter.Ramm@ottogroup.com Tel.: 0351 49723 150
4. Motivation
Dabei werden im folgenden betrachtet:
• SQL Plan Baselines
• SQL Profiles
• SQL Patches
• SQL Translations
• Einfluss auf problematische SQL-Ausführung erfordert oft ein
Ausrollen der angepassten Software
• In kritischen Produktions-Szenarien ist teils eine schnellere Lösung
nötig.
• Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB
sich SQL-Ausführungen auch ohne Ausrollen von Software-
Änderungen ad hoc beeinflussen lassen.
5. Verfahren zur Beeinflussung des Op7mizers
Verfahren Wirkungsweise Erforderliche Lizenz
SQL Plan Baseline Vorgabe des Plan-Hash-Wertes des zu
verwendenden Ausführungsplans
EE ( +Tuning Pack für Erstellung
per Panorama aus AWR-Daten)
SQL Profile Injizierung von Optimizer-Hints EE + Diagnostics and Tuning
Pack
SQL Patch Injizierung von Optimizer-Hints ähnlich SQL-
Profile
Keine (auch anwendbar in
Standard Edition)
SQL Translation Ersetzen des vollständigen SQL-Textes EE
6. Panorama für Oracle: freies Analyse-Tool
Freies Werkzeug für Performance-Analyse
von Oracle-DB
Weitere Doku + Download:
http://rammpeter.github.io
https://hub.docker.com/r/rammpeter/panorama
• „Leichte“ Machbarkeit der Analysen mittels GUI-Workflow, für DBA als auch gezielt für Entwickler
• Senken der Hemmschwelle, Problemen tatsächlich detailliert auf den Grund zu gehen
• Iden_fika_on der konkrete Ursachen für unzureichende Applika_ons-Performance bei Datenzugriffen
• Aubereitung komplexer Zusammenhänge der DB ohne _efes Insider-Wissen
Gehostet für Nutzung innerhalb otto group:
http://sbfappserver.ov.otto.de:8080/Panorama
http://panorama.osp-dd.de:8080/Panorama
https analog auf Port 8443
7. SQL Plan Baseline
• Erlaubt es, einen konkreten Ausführungsplan verbindlich vorzugeben, wenn ein syntaktisch
identisches SQL-Statement ausgeführt wird (SQL-ID Hash).
• Es wird hierbei nicht der konkrete Ausführungsplan vorgegeben, sondern der Plan Hash Value des
zu verwendenden Plans. D. h., der Optimizer muss selbst diesen Plan mit dem zu erzielenden Plan
Hash Value ermitteln können.
Support durch Panorama:
• Generieren von PL/SQL-Code zum Erzeugen einer SQL Plan Baseline für einen in Vergangenheit
aktiven konkreten Ausführungsplan eines SQL
• Generierung ausführbar über Button „SQL Plan Baseline“ in historischer SQL-Detail-Ansicht
Vorteil in der Anwendung:
• Beim Auftreten eines geänderten problematischen Ausführungsplanes kann über Vergleich der
bisherigen Ausführungen in AWR-Historie ein evtl. besserer Plan identifiziert werden
• Durch Generieren der Baseline-Erzeugung auf Basis des besseren Plans kann das Problem erstmal in
Minuten gefixt werden ohne das SQL überhaupt inhaltlich verstanden zu haben
8. SQL Plan Baseline: generiertes Script (Extrakt)
DECLARE
cur sys_refcursor;
hit_count PLS_INTEGER;
BEGIN
-- Create new SQL Tuning Set (STS)
DBMS_SQLTUNE.CREATE_SQLSET(sqlset_name => 'PANORAMA_STS‘,
description => 'Panorama: SQL Tuning Set for SQL Plan Baseline');
-- Populate STS from AWR, using a time duration when the desired plan was used
OPEN cur FOR
SELECT VALUE(P)
FROM TABLE(
DBMS_SQLTUNE.Select_Workload_Repository(Begin_Snap=>116673, End_Snap=>116769,
Basic_Filter=>'sql_id = ''7fbk69tj7ak43'‘‘,
attribute_list=>'ALL')
) p;
DBMS_SQLTUNE.LOAD_SQLSET( sqlset_name=> 'PANORAMA_STS', populate_cursor=>cur);
CLOSE cur;
-- Load desired plan from STS as SQL Plan Baseline, Filter explicitly for the plan_hash_value here
hit_count := DBMS_SPM.LOAD_PLANS_FROM_SQLSET(sqlset_name => 'PANORAMA_STS‘,
Basic_Filter=>'plan_hash_value = ''3026395079''');
END;
/
9. SQL Profile
• Erlaubt es, bei Ausführung eines über SQL-ID iden7fizierten SQLs weitere Op7mizer-Hints von
außen zu injizieren, die bei der Ermi_lung des Ausführungsplanes berücksich7gt werden.
• Über diverse SQL-Tuning-Funk7onen des Oracle Enterprise Managers (bzw. neu Cloud Control)
können SQL-Profiles erzeugt werden.
Support durch Panorama:
• Das Generieren von SQL Profiles wird durch Panorama nicht unterstützt, da die identische Funktion auch
durch SQL Patches erreicht werden kann ohne Limitierung bzgl. Edition und Option Pack
10. SQL Patch
• SQL-Patches (verfügbar ab Release 11.1) erlauben es, bei Ausführung eines über SQL-ID identifizierten
SQLs weitere Optimizer-Hints von außen zu injizieren, die bei der Ermittlung des Ausführungsplanes
berücksichtigt werden.
• SQL-Patches können ohne weitere Lizenz genutzt werden auch in Standard Edition.
Support durch Panorama:
• Generieren von PL/SQL-Code zum Erzeugen eines SQL Patch
• Dieser PL/SQL-Code muss nach Generierung um die gewünschten Op7mizer-Hints erweitert werden
• Generierung ist ausführbar über Bu_on „SQL Patch“ in historischer und aktueller SQL-Detail-Ansicht
• Unterschiedliche PL/SQL-API je DB-Release werden durch Generator berücksich7gt
11. SQL Patch: generiertes Script
BEGIN
sys.DBMS_SQLDiag_Internal.i_create_patch(
sql_text => 'SELECT * FROM Hugo h WHERE h.Filter_ID = :A1',
hint_text => '< my personal hint>',
name => 'Panorama-Patch 7fbk69tj7ak43',
description => 'My personal description for patch‘
);
END;
/
Mit Hint angepasstes Script:
BEGIN
sys.DBMS_SQLDiag_Internal.i_create_patch(
sql_text => 'SELECT * FROM Hugo h WHERE h.Filter_ID = :A1',
hint_text => 'INDEX(@SEL$1 h@SEL$1, IDX_Hugo_Neu)',
name => 'Panorama-Patch 7fbk69tj7ak43',
description => 'Soll den genannten Index verwenden'
);
END;
/
Durch Panorama generiertes Script:
Für Positionierung der Hints in komplexen SQLs Query-Block-Name in Hint angeben
12. SQL Transla7on
• Das SQL Transla7on Framework erlaubt ab Version 12.1 das Hinterlegen von alterna7ven SQL-Texten
zu einem SQL-Statement.
Vor der Ausführung des SQLs wird der SQL-Text ersetzt durch den hinterlegten alterna7ven SQL-Text.
• Bedingung ist, dass das alterna7ve SQL die selbe Result-Struktur besitzt und die selben
Bindevariablen unterstützt wie das originale SQL.
Support durch Panorama:
• Generieren von PL/SQL-Code zum Erzeugen einer SQL Translation über den Button "SQL-Translation"
der SQL-Detail-Anzeige (aktuell oder historisch)
Vorteil in der Anwendung:
• Diese Funk7on erlaubt eine totale Einflussnahme auf das ausgeführte SQL.
Nicht nur, dass dem SQL Op7mizer-Hints zugefügt werden können, es können auch Ergebnisspalten
ausgetauscht werden, JOIN-Beziehungen enhernt oder hinzugefügt werden, aus anderen Quellen
selek7ert werden etc. .
13. SQL Translation: Generiertes Script
• Das generierte Script ist etwas komplexer als bei den vorgenannten Varianten und enthält drei
Abschnitte:
– SYSDBA grantet User die Erzeugung von Translation Profiles
– User erzeugt Translation Profile mit altem und neuem SQL-Test
– SYSDBA erzeugt Logon-Trigger, der die Nutzung der Translation in User-Session aktiviert
• Im generierten Script muss die neue Variante des SQL entsprechend angepasst werden
14. Risiko bei Verwendung der genannten Verfahren
• Da die Zuordnung der Verfahren zu einem SQL-Statement auf der SQL-ID bzw. dem SQL-Text
basiert, geht diese Beziehung bei Änderung oder Erweiterung der SQL-Syntax verloren
• Daher sollten diese Maßnahmen eher als Quick-Fix bis zum nächsten Solware-Rollout gesehen
werden und nicht als langfris7ge Lösung
Support durch Panorama:
• Die Existenz eines der vier Verfahren für ein SQL-Statement wird in Panorama in der SQL-Detail-
Ansicht signalrot angezeigt.
Ohne diese Informa7on besteht das Risiko der Konfusion darüber, wie der Op7mizer zu dem
konkret verwendeten Ausführungsplan kommt
• Menü „DBA/SGA-Details“ / „SQL plan management“ gibt einen Überblick über alle exis7erenden
Maßnahmen inkl. ihrer wirklichen Nutzung
15. Panorama greift nur lesend auf die Datenbank zu
und benötigt keine eigenen PL/SQL-Objekte.
Ihr könnt die Funktionen also ohne Risiko testen und verstehen.
Probiert es gern aus.
Beschreibung inkl. Download-Link: http://rammpeter.github.io/panorama.html
Docker-Image https://hub.docker.com/r/rammpeter/panorama
Blog zum Thema: http://rammpeter.blogspot.com
Letztes Wort
16. Vielen Dank für Euer Interesse
Fragen ?
Otto Group Solution Provider (OSP) Dresden GmbH
Freiberger Str. 35 | 01067 Dresden
T +49 (0)351 49723 0 | F +49 (0)351 49723 119
osp.de
17. Backup
Weitere Links zum Thema:
• Einführung in Oracle-Performance-Analyse mit Panorama
• Ulrike Schwinn: Ausführungspläne beeinflussen mit SQL Plan Management
• Oracle white paper: SQL Plan Management in Oracle Database 11g
• Oracle white paper: SQL Plan Management in Oracle Database 12c Release 2
• SQL Tuning Guide 12.2: Influencing the Optimizer
• SQL Tuning Guide 12.2: SQL Controls and Plan Baselines