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: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
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: 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.
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
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: 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.
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
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.
Diese Präsentation zeigt das Oracle Portfolio im Bereich Ausfallsicherheit auf Oracle Datenbankebene. Ich habe sie 2012 erstellt und in verschiedenen Kundenwebcasts gezeigt.
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
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.
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)
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungInformatik Aktuell
Microsoft SQL Server bietet unendlich viele Stellschrauben für Performanceoptimierung. Es ist nicht immer nur ein Index, der gebraucht wird, sondern häufig ist es nur eine Kleinigkeit in der Konfiguration und plötzlich "fliegt" die Anwendung.
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.
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
WildFly als Plattform moderner Enterprise-Anwendungengedoplan
Vortrag bei "Mittwochs bei Lehmanns" in Hamburg.
Am 08.10.2014 präsentierte Dirk Weil von GEDOPLAN in Hamburg vor ca. 25 interssierten Gästen aus der IT die Features des Open-Source-Servers WildFly (Namems-Nachfolger des JBoss AS). Im Anschluss wurde intensiv über Applikation Server, Open Source u. a. m. diskutiert.
Möchten Sie diesen oder andere Vorträge von GEDOPLAN auch in Ihrem Hause durchführen? Dann sprechen Sie uns an: info(at)gedoplan.de.
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.
Indizes sind ein entscheidender Faktor für die Performance von Datenbanken. Mittlerweile bietet SQL Server eine ganze Reihe von verschiedenen Indexformen: Angefangen von den klassischen gruppierten und nicht-gruppierten Indizes über Volltextindizes, XML-Indizes, räumliche Indizes bis hin zu den mit SQL 2012 eingeführten Columnstore Indizes zu denen mit SQL 2014 noch die gruppierte Variante dazu kam.
Wie findet man sensitive Daten in der Oracle Datenbank? Das Database Assessment Security Tool (DBSAT 2.0.1) liefert in der Version 2.0.1 eine Antwort darauf. Die Präsentation gibt eine Einführung in DBSAT und zeigt die Verwendung. Am Ende wird noch eine Alternative vorgestellt - Data Masking und Subsetting in Oracle Database Enterprise Manager.
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.
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
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.
Diese Präsentation zeigt das Oracle Portfolio im Bereich Ausfallsicherheit auf Oracle Datenbankebene. Ich habe sie 2012 erstellt und in verschiedenen Kundenwebcasts gezeigt.
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
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.
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)
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungInformatik Aktuell
Microsoft SQL Server bietet unendlich viele Stellschrauben für Performanceoptimierung. Es ist nicht immer nur ein Index, der gebraucht wird, sondern häufig ist es nur eine Kleinigkeit in der Konfiguration und plötzlich "fliegt" die Anwendung.
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.
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
WildFly als Plattform moderner Enterprise-Anwendungengedoplan
Vortrag bei "Mittwochs bei Lehmanns" in Hamburg.
Am 08.10.2014 präsentierte Dirk Weil von GEDOPLAN in Hamburg vor ca. 25 interssierten Gästen aus der IT die Features des Open-Source-Servers WildFly (Namems-Nachfolger des JBoss AS). Im Anschluss wurde intensiv über Applikation Server, Open Source u. a. m. diskutiert.
Möchten Sie diesen oder andere Vorträge von GEDOPLAN auch in Ihrem Hause durchführen? Dann sprechen Sie uns an: info(at)gedoplan.de.
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.
Indizes sind ein entscheidender Faktor für die Performance von Datenbanken. Mittlerweile bietet SQL Server eine ganze Reihe von verschiedenen Indexformen: Angefangen von den klassischen gruppierten und nicht-gruppierten Indizes über Volltextindizes, XML-Indizes, räumliche Indizes bis hin zu den mit SQL 2012 eingeführten Columnstore Indizes zu denen mit SQL 2014 noch die gruppierte Variante dazu kam.
Wie findet man sensitive Daten in der Oracle Datenbank? Das Database Assessment Security Tool (DBSAT 2.0.1) liefert in der Version 2.0.1 eine Antwort darauf. Die Präsentation gibt eine Einführung in DBSAT und zeigt die Verwendung. Am Ende wird noch eine Alternative vorgestellt - Data Masking und Subsetting in Oracle Database Enterprise Manager.
06 Software Development Guidelines der COMLINE Cloud Service Platform - CSPChristian Guenther
Software Entwicklung Guidelines für Cloud Anwendungen
Domain Principles für Cloud Services und Cloud Anwendungsentwicklung
In den letzten zehn bis fünfzehn Jahren haben sich eine Reihe von Architekturparadigmen etabliert, die heute die Grundlage für Unternehmensanwendungen definieren und in vielfältigen Standards, Frameworks und Best Practices so fest verankert sind, dass man kaum noch darüber nachdenkt.
Wendet man diese Paradigmen unreflektiert auf Cloud-Anwendungen an, führt das in der Regel zu ernüchternden Resultaten. Insbesondere die für Cloud Computing wichtigen Eigenschaften Skalierbarkeit, Elastizität und Robustheit sind auf diese Weise nicht erreichbar.
Ein Umdenken ist also notwendig, um die Potenziale der Cloud freizusetzen.
Die COMLINE Cloud Computing Platform (CSP) ist die Antwort hierauf, sie ist eine moderne Plattform für Cloud-Computing und wurde als reaktives System konzipiert.
Reaktive Systeme müssen stets antwortbereit, widerstandsfähig, elastisch und nachrichtenorientiert sein. Systeme und Plattformen, die nach diesen Anforderungen entwickelt werden, erweisen sich als anpassungsfähiger, mit weniger starr gekoppelten Komponenten und in jeder Hinsicht skalierbarer. Sie sind einfacher weiterzuentwickeln und zu verändern. Sie reagieren zuverlässiger und eleganter auf Fehler und vermeiden so desaströse Ausfälle. Reaktive Systeme bereiten dem Anwender durch ihre fortwährende Antwortfreudigkeit eine interaktive und höchst befriedigende Erfahrung.
All diese Anforderungen erfüllt die COMLINE Cloud Service Plattform.
Aus Sicht der COMLINE eine PaaS (Platform as a Service) dar, auf der COMLINE Cloud-Dienste entwickelt.
Betrieben wird die CSP auf einem IaaS Modell in COMLINE-eigenen Rechenzentren in Berlin
Die Cloud-Dienste werden zu Anwendungen zusammengefasst, die von Kunden der COMLINE im Sinne eines SaaS (Software as a Service) Modells gemietet und genutzt werden können.
Sowohl die Plattform selber, als auch die Services und Anwendungen werden entlang einer Reihe von Guidelines entwickelt und betrieben. Diese Guidelines bilden die Grundlage aller Aktivitäten (von Design, über Konzeption bis hin zu Entwicklung und Betrieb) auf der CSP
Die Folien auf Slideshare zeigen die Prinzipien, Paradigmen und Design Patterns auf, nach denen wir sowohl die CSP selber betreiben, als auch die Anwendungen auf ihr entwickeln und betreiben.
Die CSP wurde massgeblich von Christian Günther konzipiert und stellt heute die DeFacto Entwicklungsplattform für COMLINE dar.
Regulatorics: Offside is when the referee whistles - DOAG 2018Torsten Kleiber
The regulatory system has more and more influence on our software development.
Regulatory authorities, external and internal Auditors are increasingly examining our IT and not longer only our business processes and balance sheets. Some of them have better trained IT experts as we can find on the free market.
General standards such as ISO/IEC 2700X but also banking-specific standards such as BAIT and MaRisk now pose challenges that generally only large software manufacturers know. Approximately 40 % of our projects are now regulatory-driven.
Therefore, we are currently redefining our development process in order to implement the following requirements, among others * Unchangeability of the tested artefacts after the test * Functional segregation * Detection of accidental changes or intentional manipulations of the application
The lecture shows the vision of such a safe process. It shows the current status of implementation in SOA and ADF development, for example:
Migration of version management to GIT in Atlassian BitBucket
Application and selection criteria for a branching model
Mandatory code reviews in Atlassian BitBucket
Build and Deployment Pipelines in Jenkins
Automatic documentation in JIRA Issue via Bitbucket and Jenkins.
Maybe you too can minimize the additional work and continue to work agile to meet such requirements.
Der Vortrag zeigt auf, wie Risikominimierung bei Änderungen im Oracle Datenbank-Umfeld betrieben werden kann. Es wird ein allgemeiner Überblick über mögliche Änderungen gegeben, sowie auf das Werkzeug Real Application Testing eingegangen. Zudem werden Stolperfallen und mögliche Probleme aufgezeigt. Diesen Beitrag präsentierte OPITZ CONSULTING Berater Simon Dickmeiß im Rahmen der Special DOAG Interest Group Database am 12. Oktober 2010 in Frankfurt/Kaiserei.
The state of JavaScript Linting - Deutsche VersionMichael Kühnel
English version: http://de.slideshare.net/mischah/js-linting-en
Untertitel: JS Syntax Überprüfung and Validierung
Session vom 3. Kasseler Webmontag.
Beantwortet die Frage »Was ist denn eigentlich dieses linting …« und stellt die Tools JSLint, JSHint und ESLint vor.
Ein IBM Domino Server stellt uns im Durchschnitt 1.200 Statistiken zur Verfügung.
Welche davon sind besonders wichtig? Welche Erkenntnisse und Maßnahmen lassen sich aus diesen Informationen ableiten?
Während unseres Streifzuges durch die wichtigsten Statistiken widmen wir uns unter anderem folgenden Themenbereichen: Server Performance und Auslastung, Cluster Performance, Disk Performance, Kapazitätsplanung / Konsolidierung, Replikation, Ansichts-Indizes, Volltext-Indizes,NameLookupCache, Database Buffer Pool & Caching, Mail-Statistiken, u.v.m.
Mit diversen Beispielen aus der Praxis bekommen Sie in dieser Session ein gutes - und bisweilen gar ganz neues - Bild von den vielen Informationen, die Ihnen ein Domino-Server im laufenden Betrieb zur Verfügung stellt. Zurück zu Hause verstehen Sie Ihre Domino-Server nach Besuch dieses Vortrages noch besser - und können so das Maximum aus Ihren Statistiken und Servern heraus holen.
Track 1.1: Technik - Administration: Dienstag, 11.11.2014
Bei der Migration von Notes zu Sharepoint handelt es sich um eine Migration zwischen zwei Anwendungsplattformen mit einem Schwerpunkt auf dem Themenbereich Collaboration
Schritte:
Analyse der Ausgangslage
Methodik
Funktionale Migration
Datenmigration
Migrationstools am Beispiel Quest
Zusammenfassung
The Lotus Code Cookbook - Ulrich Krause
Tipps, Tipps, Tipps ... Die Session behandelt kein zentrales Thema. In loser Folge werden Tipps und Tricks aus allen Bereichen der Programmierung in Lotus Notes / Domino vorgestellt. @Formula, LotusScript, Java, JavaScript, LS2CApi.
Zielgruppe sind Alle, die sich mit Applikationsentwicklung beschäftigen. Anfänger und "alte Hasen"; es ist für jeden etwas dabei.
Markus Winand – IT-Tage 2015 – Den Suchraum des Optimizers gestaltenInformatik Aktuell
Auf seiner Suche nach dem optimalen Ausführungsplan ist der Optimizer in einen Käfig gesperrt, der von den SQL-Abfragen und dem physischen Datenbank-Design vorgegeben ist. Per Definition kann der Optimizer nur den besten Ausführungsplan innerhalb dieses Käfigs finden – auch wenn außerhalb bessere Ausführungspläne sind. In diesem Vortrag werden wir sehen, wie Indizierung diesen Käfig beeinflusst und lernen, wie man durch kluge Indizierung den Käfig so gestaltet, dass der absolut beste Ausführungsplan in der Reichweite des Optimizers liegt.
Oracle-DB: Effizient Nutzung von function-based IndizesPeter Ramm
- Was sind function-based Indizes
- Was passiert bei Index-Maintenance
- Warum deterministische Funktionen
- Anwendungsbeispiel Zugriff auf kleine Anteile großer Tabellen (z.B. Queue-Verarbeitung)
- Alternative zu unique Index für nicht deterministische Funktionen
Eine Sammlung von Best Practices für Applikationen mit AngularJS. Der Vortrag stellt Strukturen und Konventionen vor, mit denen sich auch umfangreiche Applikationen wartbar und erweiterbar halten lassen.
2. Seite 2
Gründung:
März 1991
Muttergesellschaft:
OTTO Group
Standorte:
Dresden, Hamburg, Burgkunstadt, Bangkok, Taipeh,
Madrid
Mitarbeiterzahl:
Ca. 220
Geschäftsführer:
Dr. Stefan Borsutzky, Norbert Gödicke, Jens Gruhl
Otto Group Solution Provider (OSP) GmbH
www.osp.de
3. Seite 3
zur Person
Peter Ramm
Teamleiter strategisch-technische Beratung bei OSP Dresden
> 25 Jahre Historie in IT-Projekten
Schwerpunkte:
• Entwicklung von OLTP-Systemen auf Basis von Oracle-
Datenbanken
• Architektur-Beratung bis Trouble-Shooting
• Performance-Optimierung bestehender Systeme
4. Warum Definition von Indizes auf Tabellen?
Seite 4
2. Garantie der Einhaltung von Eindeutigkeitsregeln
• Deklaration von Unique Indizes bzw. Nutzen des Index für Primary Key bzw. Unique Constraints
3. Absicherung von Foreign Key Constraints
• Verhindern von Full-Table-Scans beim Delete oder Update auf den referenzierten Tabellen
• Verhindern der Propagierung von DML-Locks der referenzierten Tabelle über Foreign Key Constraints
1. Optimieren von Zugriffen aus User-SQL
• Reduktion des Zugriffes auf die ergebnisrelevanten Records beim Lesen von Tabellendaten
4. Sichern Strukturidentität für Partition Exchange
• Tabelle für Partition Exchange muss identisch indiziert sein wie partitionierte Zieltabelle
5. Warum Entfernen von nicht relevanten Indizes?
Seite 5
Was bringt die Entfernung von unnötigen Indizes?
• Reduktion von Storage-Bedarf der Datenbank
• Reduktion des Aufwandes für Index-Maintenance bei DML-Operationen
• Effizientere Nutzung des DB-Cache
• Verbesserung des Laufzeit- und Antwortzeitverhaltens von Applikationen
Warum findet trotzdem oftmals keine aktive Bewertung und Entfernung unnötiger Indizes statt?
• Es gibt keine Rolle im Projekt/Produkt, die diese Aufgabe wahrnimmt
- DBA mit begrenztem Einblick in die Fachlichkeit, Entwickler mit fehlenden Mitteln zur Bewertung
• Never touch a running system: Risiko die Finger zu verbrennen und Betriebsstörungen zu verursachen
Wenn ein Index keine der vier vorgenannten Rollen erfüllt, kann er eigentlich auch entfernt werden!
6. Kann ein Index entfernt werden?
Erfordert Bewertung der 4 möglichen Rollen.
Seite 6
Rolle 1: Optimierung von Zugriffen aus User-SQL
• Eindeutiges Ausschließen der Nutzung eines Index in User-SQL für einen längeren Zeitraum
Rolle 2: Garantie der Einhaltung von Eindeutigkeitsregeln
• Sicherstellen, dass Index NonUnique ist und nicht für Primary Key bzw. Unique Constraint genutzt wird
Rolle 3: Absicherung von Foreign Key Constraints
• Ausschließen, dass Index für Absicherung eines Foreign Key benutzt wird oder
• Sicherstellen, dass für den konkreten Foreign Key keine Absicherung durch Index nötig ist
Rolle 4. Identische Indizierung für Partition Exchange
• Test auf strukturidentische Tabellen, die potentiell für Partition Exchange genutzt werden könnten
8. Identifikation der Index-Nutzung durch User-SQL
Seite 8
ALTER INDEX xyz Monitoring Usage; aktiviert die Überwachung der Nutzung des Index durch DB
• Status auswertbar über v$Object_Usage (nur aktuelles Schema) oder sys.Object_Usage (global)
• Es wird nur Nutzung des Index in direkten SQLs protokolliert. Die Nutzung eines Index in rekursiven
SQLs der DB selbst wird nicht protokolliert.
D.h., die implizite Nutzung eines Index für den Lookup beim Delete auf einer referenzierten Tabelle
wird nicht erfasst.
• Kein messbarer Performance-Impact durch Aktivierung des Monitoring Usage, aber:
Ausführung von ALTER INDEX .. MONITORING USAGE als DDL führt zum erneuten Parsen von
betroffenen Cursoren bei der nächsten Ausführung
• Erneute Ausführung von ALTER INDEX .. MONITORING USAGE setzt den Usage-Status wieder zurück
Für eine permanente Überwachung eines Systems ist das zyklische Zurücksetzen des Usage-Status
wesentlich, um so auch Indizes zu erkennen, die zwar in der Vergangenheit genutzt wurden, aber seit
geraumer Zeit nicht mehr
9. Alternative / Erweiterung zur Identifikation der
Index-Nutzung durch User-SQL ab Release 12.2
Seite 9
Der View DBA_Index_Usage enthält ab Rel. 12.2 detailliertere Informationen zur Index-Nutzung
• Muss nicht gesondert aktiviert werden, protokolliert die Nutzung von Indizes per Default
• Enthält Zeitpunkt der letzten Nutzung sowie Mengenverteilung von Zugriffen und Ergebnismenge
Einschränkungen der Nutzbarkeit dieses Feature:
• Durch nur zyklisches Sampling der Daten besteht ein latentes Risiko, dass real stattgefundene
Nutzungen eines Index nicht protokolliert werden
• Das Umstellen auf harte Protokollierung jeden Zugriffs bringt signifikante Performance-Einschränkung
ALTER SESSION SET "_iut_stat_collection_type"=ALL; statt SAMPLED
• Die Memory-Daten werden alle 15 Minuten auf Disk geflusht und dann in DBA_Index_Usage sichtbar
• Es wird nur Nutzung des Index in direkten SQLs protokolliert. Die Nutzung eines Index in rekursiven
SQLs der DB selbst wird nicht protokolliert (analog zu ALTER INDEX .. MONITORING USAGE ).
• Eine Analyse des Index (z.B. dbms_stats.gather_index_stats) zählt auch als Nutzung
10. Scripte zum permanenten Tracking
des Nutzungs-Status per MONITORING USAGE
Seite 10
• Zurücksetzen des Usage-Status nur für Indizes, die:
- bereits als genutzt gekennzeichnet sind
- seit mehr als x Tagen nicht zurückgesetzt wurden
- nicht in aktuellen Execution-Plänen in der SGA vorkommen (außer bei erster Ausführung)
• Damit Reduktion des Risikos von Parse-Bursts durch Ausführung dieses Scriptes
• Zwei Versionen für Setzen bzw. Rücksetzen des Usage-Status
1. Für das aktuelle Schema des angemeldeten Users
2. Für alle Schemata der DB mit Ausnahme der System-Schemata
• Scripte sind abgelegt unter:
https://rammpeter.blogspot.com/2017/10/oracle-db-identify-unused-indexes.html
11. Auswertung des Usage-Status von Indizes
Seite 11
Die Auswertung des Usage-Status von Indizes ist möglich über:
• v$Object_Usage, jedoch nur für die Indizes des Schemas des aktuell angemeldeten Users
• sys.Object_Usage für eine globale Sicht auf die gesamte DB, jedoch eher unkomfortabel
Für beide Varianten der Auswertung finden sich die SQLs unter:
https://rammpeter.blogspot.com/2017/10/oracle-db-identify-unused-indexes.html
Das freie Analyse-Tool Panorama bietet eine Auswertung über sys.Object_Usage verbunden mit:
• Rolle 2: Nutzung der Indizes für Absicherung von Eindeutigkeiten
• Rolle 3: Nutzung der Indizes für Absicherung von Foreign Keys
Die Folgeseite zeigt einen Beispiel-Screenshot
15. Relevanz des Index für Absicherung Foreign Key
Seite 15
Gründe für einen Index auf der referenzierenden Tabelle eines Foreign Key Constraints sind:
• Verhindern von Full Table Scan auf der referenzierenden Tabelle bei Delete oder Update auf der
Referenz
• Verhindern von Lock-Propagierung von DML-Locks bei DML auf der referenzierten Tabelle
D.h. auch bei Existenz eines Foreign Key Constraints ist die Absicherung mit einen Index nicht
notwendig, wenn auf der referenzierten Tabelle kein DML stattfindet.
Dies ist regelmäßig der Fall z.B. bei Foreign Key Constraints auf statischen Stammdatentabellen.
16. Tolerierbarkeit von DML auf referenzierter Tabelle
Seite 16
Selbst wenn auf der referenzierten Tabelle in homöopathischer Menge DML stattfindet, kann oftmals
auf eine Absicherung mit Index verzichtet werden:
• Ein Full Table Scan auf der referenzierenden Tabelle beim Delete auf der Referenz kann evtl.
billigend in Kauf genommen werden für sporadische DML-Aktivitäten.
Einmaliger Full Table Scan alle x Wochen ist allemal weniger aufwändig als Vorhalten eines Index.
• Lock-Propagierung stellt nur in besonderen Konstellationen ein Problem dar.
Insbesondere dann, wenn Update auf Primärschlüsselspalten stattfindet, wofür insbesondere bei
Verwendung von technischen IDs keine Notwendigkeit besteht.
In u.g. Blog-Post findet sich für zwei über Foreign Key Constraint verbundene Tabellen :
• Eine Aufstellung verschiedener konkurrierender DML-Operationen auf beiden Tabellen
• Die jeweilige Relevanz eines Index zum Verhindern von Blocking Locks
https://rammpeter.blogspot.com/2016/11/clarify-myths-of-indexing-foreign-key.html
17. Prüfung der Existenz von DML auf Referenz
Seite 17
Das Vorhandensein und die Größenordnung von DML auf einer Tabelle kann nachvollzogen werden über
den View DBA_Tab_Modifications.
In diesem View werden seit dem Zeitpunkt der letzten Analyse die Anzahl von Inserts, Updates und
Deletes protokolliert.
Voraussetzung für die Aufzeichnung in DBA_Tab_Modifications ist laut Oracle-Dokumentation bis zu 19c
der Status MONITORING=YES auf Table-Ebene.
In der Realität werden aber ab Rel.11 DML-Operationen auch bei Status NOMONITORING aufgezeichnet.
Diese Kennwerte erlauben die Bewertung, ob die Häufigkeit und Frequenz der DML-Operationen auf der
referenzierten Tabelle die Absicherung eines Foreign Key Constraint auf der referenzierenden Tabelle
durch Index erfordern.
18. Schritte in Panorama für Check DML auf Referenz
1. Auswahl Index-Ansicht aus Tabellenbeschreibung
Seite 18
• Die Spalte „Use“ beschreibt Nutzungsstatus sowie Start bzw. letzten Reset des Monitoring
• Die Spalte „FK“ bietet einen Link auf Details zum Foreign Key Constraint
19. 19Seite
Schritte in Panorama für Check DML auf Referenz
2. Details zum Foreign Key Constraint
• Num. Rows der referenzierten Tabelle erlaubt erste Bewertung der möglichen Relevanz des Index
• Link in Spalte „Referenced table name“ bringt Details zu referenzierter Tabelle
20. 20Seite
Schritte in Panorama für Check DML auf Referenz
3. Details zum Foreign Key Constraint
• Tabellendetails der referenzierten Tabelle mit DML-Events seit dem Zeitpunkt der letzten Analyse
• Anzahl Inserts / Updates /Deletes / Truncates erlauben Bewertung der Relevanz eines Index
22. Identische Indizierung für Partition Exchange
Seite 22
Bedingungen für eventuelle Nutzung für Partition Exchange sind zwei oder mehr Tabellen mit:
• identischer Tabellenstruktur bzgl. Typ, Länge und Position der Spalten, Name kann differieren
• Identische Index-Struktur bzgl. Anzahl der Indizes sowie Struktur (Anzahl und Position der Spalten)
• Mindestens eine der strukturidentischen Tabellen ist partitioniert
• Mindestens eine der strukturidentischen Tabellen ist nicht partitioniert
Die Spalte „partition exchange possible“ der Rasterfahndungs-Abfrage zeigt die Existenz potentieller
Kandidaten für Partition Exchange
• Ein SQL zur Selektion der konkreten potentiellen Kandidaten für Partition Exchange findet sich hier:
https://rammpeter.blogspot.com/2019/11/oracle-db-list-tables-suitable-for.html
Vor Entfernung eines Index sollte ausgeschlossen werden, dass der Index nur existiert für die
Erfüllung der Vorbedingungen für Partition Exchange
24. Panorama greift nur rein lesend auf Ihre Datenbank zu
und installiert keine eigenen PL/SQL-Objekte.
Sie können die Funktionen also ohne Risiko testen und
verstehen.
Panorama for Oracle databases
Freies verfügbares Werkzeug für Performance-
Analyse von Oracle-DB
Basierend u.a. auf AWR-Daten oder eigenem Sampling
(dann auch ohne Diagnostics Pack anwendbar)
Beschreibung von Panorama inkl. Download-Link: http://rammpeter.github.io
Blog zum Oracle-Performance-Analyse: https://rammpeter.blogspot.com
Weitere Quellen:
- Blog-Post zu Erkennen ungenutzter Indizes
- Blog-Post zu Relevanz der Absicherung von Foreign Key Constraints durch Indizes
26. Gründe für Entfernbarkeit real genutzter Indizes
Seite 26
Partitionierung hat gleiche Filterwirkung wie Index
• Reduktion der Treffermenge durch Partitionierung ist effektiver als Index-Zugriff,
wenn Partitionierungskriterium eindeutig ist
Zugriff per Index Fast Full Scan kann auch über anderen Index ausgeführt werden
• Wenn die relevante Spalte(n) auch anderweitig indiziert ist oder nur die Anzahl selbst relevant ist (z.B.
für COUNT(*) ), dann kann alternativ auch ein anderer Index verwendet werden
Trotz nachgewiesener Nutzung durch User-SQL kann es trotzdem sinnvoll sein, einen Index zu
entfernen
Spalten sind bereits anderweitig durch mehrspaltige Indizes indiziert
• Nach Entfernung eines Index übernimmt ein weiterer Index mit den Spalten des ersten die Funktion
27. Gründe für Entfernung real genutzter Indizes
Bewertung per Panorama (Rasterfahndung)
Seite 27
28. Maßnahmen zur Reduktion der Größe von Indizes:
Reduktion des Index auf relevante Records
Seite 28
Nur wenige Werte einer indizierten Spalte sind als Zugriffskriterium relevant
Beispiel: Tabelle mit 300 Mio. Records besitzt eine Spalte „Status“ mit den beiden Ausprägungen:
• ‚P‘ = Processed: bereits verarbeiteten Records (299.999.900 Records)
• ‚N‘ = New: neu hinzugekommenen noch zu verarbeitenden Records (max. 100 Records)
Variante 1:
Index auf “Tabelle(Status)“
Zugriff per:
SELECT * FROM Tabelle
WHERE Status = ‘ N‘
Größe des Index: ca. 3 Gigabyte
Variante 2:
Index auf “Tabelle(DECODE(Status, ‘ N‘, 1))“
Zugriff per:
SELECT * FROM Tabelle
WHERE DECODE(Status, ‘ N‘, 1)) = 1
Größe des Index: 1 DB-Block = 8 Kilobyte
Lösung: Function based Index reduziert die Größe des Index um Faktor 375000
29. Maßnahmen zur Reduktion der Größe von Indizes:
Komprimierung
Seite 29
Seit Oracle 9i ist das Feature Index Key Compression Bestandteil ab Standard Edition
• Basiert auf Deduplizierung identischer Werte innerhalb eines Index-Blocks
• Zu erzielende Reduktionen bei entsprechender Redundanz der indizierten Werte
liegen bei 1/3 bis 1/2 der ursprünglichen Größe des Index
• I.d.R. ergibt sich neben Reduktion Storage auch ein positiver Performance-Effekt durch Reduktion von
I/O und bessere Cache Hit Rate
• CREATE INDEX … >COMPRESS oder CREATE INDEX xxx COMPRESS(n)
Advanced Index Compression seit Oracle 12, Bestandteil der Advanced Compression Option
• Index Block-Komprimierung auch ohne redundante Werte im Index
• CREATE INDEX … COMPRESS ADVANCED LOW ab Oracle 12.1
• CREATE INDEX … COMPRESS ADVANCED HIGH ab Oracle 12.2
30. Vielen Dank für Ihr Interesse
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