Oracle Database 11g Web Service PL/SQL Performance Advisors Change Java, JDBC.NET Compliance All Your Data Security Data Guard Flashback High Availability RAC Selfmanaging ASM 1
Self Managing Database in 11g Die nächste Generation Web Service PL/SQL Performance Advisors Change Java, JDBC.NET Compliance All Your Data Security Data Guard Flashback High Availibility RAC Selfmanaging ASM Self Managing Database Manage Fault Manage Performance & Resource Manage Change 2
Self Managing Database Manage Fault Manage Performance & Resource Manage Change Manage Performance Überblick Memory Management SQL Tuning Wahl der Zugriffsstrukturen Monitoring Ziele: Weniger Parameter SQL Tuning automatisch d.h. wenige oder keine manuelle Interaktionen für SQL Tuning Unterstützung bei der richtigen Wahl der Zugriffsstrukturen Erweitertes Monitoring 3
Manage Performance Memory O/S Memory SGA PGA SGA_TARGET MEMORY_TARGET PGA_AGGREGATE_TARGET Vereinheitlicht Speicher Management (SGA und PGA) Ein dynamischer Parameter für Hauptspeichernutzung Automatische Anpassung an Workload Maximiert Hauptspeichernutzung Einzelparameter setzen Minimum fest MEMORY_MAX_TARGET legt Maximum fest Anzeige der Memory Nutzung in EM 4
Manage Performance SQL Tuning Tuning Pack AWR Workload ADDM DBA Implementierung SQL Tuning Kandidaten DBA Empfehlungen evaluieren Advisor starten DBA SQL Tuning Advisor Empfehlungen Manage Performance SQL Tuning Tuning Pack SQL neu schreiben Weiterhin manuell Beobachtung AWR Workload Indizes DBA Stale Statistiken Automatisch während des Maintenance Windows Automatische Auswahl der SQL Kandidaten Automatische Tests und Implementierung (optional) von SQL Profiles Wahl der ADDM Kandidaten Advisor starten SQL Tuning Kandidaten DBA Automatisch! SQL Tuning Advisor DBA DBA Empfehlungen Implementierung Profiles implementieren Empfehlungen Profiles evaluieren testen 5
Manage Performance SQL Tuning - Vollautomatisch Tuning Pack SQL neu schreiben Weiterhin manuell Beobachtung Neues SQL Profile Indizes DBA Stale Statistiken Existierendes Profile? N 3X besser? J Profile akzeptiert N J 3X besser? N Ignoriert neues Profile J Profile wird ersetzt Manage Performance SQL Tuning Konfiguration mit Database Configuration Assistant 6
Manage Performance SQL Tuning Default: Automatische Implementierung abgeschaltet!!! Manage Performance SQL Tuning Konfiguration mit PL/SQL Automatische Implementierung der SQL Profiles einschalten 7
Automatisches SQL Tuning in EM Übersichtliche Darstellung aller Empfehlungen Unterschiedliche Tuningmassnahmen Wie gross ist das Tuningpotential? Hier: Automatische Implementierung abgeschaltet Automatisches SQL Tuning in EM Liste aller SQL-Tuning-Kandidaten Drill down in einzelne SQL Statements Angabe der entsprechenden Tuningmassnahme Angabe des Analysedatums 8
Manage Performance Schema / Partition Advice SQL Cache Hypothetisch SQL Tuning Set Filter Optionen Workload SQL Access Advisor Tuning Pack Partition Advice Für Tabellen, Indizes, Materialized Views Unterstützt Range Hash Interval Skripterstellung Partitionierte Objekte Indizes Materialized Views Materialized Views log Self Managing Database Manage Fault Manage Performance & Resource Manage Change 9
Manage Fault Überblick Testen und Automatische "Health Checks" "Automatic Diagnostic Workflow" Intelligente Lösungen Patching "Support Workbench" Diagnose Lösung Durchführung Vorbeugen Lösen Fehlererkennung, Recovery Advice, Tracedateien, Support, RMAN-Erweiterungen, Health Checks u.v.m Ziele: Zeitminimierung, Minimierung der Downtime, Aufhebung von Unsicherheit Automatic Diagnostic Repository (ADR) Neue, formalisierte Struktur zur Speicherung von Trace Dateien Trace Dateien im XML Format Ermöglicht bessere Auswertung ADR Base DIAGNOSTIC_DEST=$ORACLE_BASE falls ORACLE_BASE gesetzt DIAGNOSTIC_DEST=$ORACLE_HOME/log Verzeichnisse ermitteln select * from v$diag_info; Automatische Aufzeichnung von kritischen Fehlern Commandline Utility ADRCI 10
Automatic Diagnostic Repository Werkzeug ADRCI Anzeige von Tracedateien, "Incidents", "Health Checks", Unterstützung bei Packaging von Daten für Support usw. Anzeige Alert-File adrci> show alert Anzeige von "Health Checks" adrci> show hm_run ADR Home = /home/oracle/app/oracle/diag/rdbms/orcl/orcl: ************************************************************** HM RUN RECORD 1 ********************************************************** RUN_ID 45 RUN_NAME my_run CHECK_NAME Dictionary Integrity Check NAME_ID 24 Vorbeugen mit Health Checks Proaktive manuelle Health Checks E.g. Dictionary Validierung, Redo, Data Block. Reaktive Checks Ausgelöst durch kritischen Fehler Werkzeuge: EM, Package, ADRCI 11
Data Recovery Advisor Die Herausforderung Recovery ist eine erprobte Funktionalität Oracle bietet verschiedene Methoden an für Fehlende Datenbankdateien Korrupte Datenbankdateien I/O Fehler Auf die Methode kommt es an DBA muss die richtige Methode wählen Erfordert Know-How beim DBA DBA sollte im Training sein Data Recovery Advisor wählt die richtige Recoverymethode Data Recovery Advisor Die Lösung Erkennt automatisch Fehler, bietet Optionen zur Reparatur an und führt Aktion nach Aufforderung durch Ermittelt die beste Recovery Strategie Mehrere Fehler werden in einer Recoveryaktion adressiert Zeigt nur sinnvolle Recoveryoptionen an Zeigt für jede Option an, ob Datenverlust entsteht Kann Recovery ausführen Werkzeuge: Enterprise Manager bzw. RMAN Reduziert Downtime durch Wegfall der Unsicherheit seitens des DBA 12
Data Recovery Advisor RMAN Command Line Interface RMAN> list failure Listet alle entdeckten Fehler auf RMAN> advise failure Zeigt die empfohlenen Recoveryoptionen RMAN> repair failure [preview] Führt Reparationsmaßnahmen durch RMAN> change failure 5 priority critical high low Ändert Priorität eines Fehlers Data Recovery Advisor Szenario: Non-System Datendatei komplett korrupt RMAN> list failure; List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 142 HIGH OPEN 21-AUG-07 One or more non-system datafiles are corrupt 13
Data Recovery Advisor Szenario: Non-System Datendatei komplett korrupt RMAN> advise failure; List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 142 HIGH OPEN 21-AUG-07 One or more non-system datafiles are corrupt : : Automated Repair Options ======================== Option Repair Description ------ ------------------ 1 Restore and recover datafile 6 Strategy: The repair includes complete media recovery with no data loss Repair script: /oracle/installations/diag/rdbms/orcl/orcl/hm/reco_2990894645.hm Data Recovery Advisor Szenario: Non-System Datendatei komplett korrupt RMAN> repair failure preview; Strategy: The repair includes complete media recovery with no data loss Repair script: /oracle/installations/diag/rdbms/orcl/orcl/hm/reco_2990894645.hm contents of repair script: # restore and recover datafile sql 'alter database datafile 6 offline'; restore datafile 6; recover datafile 6; sql 'alter database datafile 6 online'; RMAN> repair failure; : executing repair script sql statement: alter database datafile 6 offline Starting restore at 21-AUG-07 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backup set restore sql statement: alter database datafile 6 online repair failure complete 14
Data Recovery Advisor Im Enterprise Manager Homepage Availability Page Data Recovery Advisor Beispiel Data Recovery Advisor wählt optimale Methode Hier Datendatei Recovery Blockrecovery wäre ungünstig da zuviele Blöcke korrupt Datenbank Recovery mit Downtime nicht notwendig Optional kann das Recovery als Job gestartet werden 15
Support Workbench Erkennt und sammelt automatisch kritische Fehler Link zu Advisors wie Reovery Advisor Bietet Kunden-Interface um Incidents in Packages zu bündeln und an Oracle Support zu senden Erstellung und Verfolgung eines Service Requests über Enterprise Manager Support Workbench Probleme und Packaging Überblick Package an Support 16
Automatischer Diagnostic Workflow Schnellere Problemlösung Kritischer Fehler Automatisches Diagnostic Repository 1 2 Fehlererkennung Analyse durch DBA Erste Datensammlung Health Checks, zusätzliches Tracing usw Nein Bekannter Bug? 4 EM Support Workbench: Incident Paket erstellen mit Trace- und Konfigurationsinformationen Repair Advisors 3 Ja EM Support Workbench: Patch einspielen oder Workaround Repair Advisors Self Managing Database Manage Fault Manage Performance & Resource Manage Change 17
Manage Change Überblick Unterstützung bei Veränderungen SQL-Plan Stabilität Analysen und Empfehlungen bei Änderungen bzgl SQL Last Datenbank Last Testen Anwen- den Change Korrigieren SQL Plan Management Cost Based Optimizer wird durch Laufzeitumgebung beeinflusst Änderungen an Statistiken, Parametern, Objekten, usw. können zu neuem Ausführungsplan (SQL Plan) führen Neue Ausführungspläne sollten besser sein, aber.. Ziel: Mehr Stabilität ohne Verlust von Dynamik Lösung: Neuer Ausführungsplan wird nur dann verwendet, wenn er besser ist! Optimizer wählt Ausführungsplan nur aus einem verifizierten Pool von Ausführungsplänen aus (SQL Baseline) Wird aufgrund einer Änderung ein neuer Plan erstellt, muss er vor der Nutzung erst verifiziert werden Ziel: Kontrollierte Evolution bei Ausführungsplänen 18
SQL Plan Management Funktionsweise GB optimizer_use_ plan_baselines=true? Ja Plan in Historie? Nein GB Nein Ja Plan in Baseline? Ja GB Plan Historie Plan Baseline GB GB Nein GB Ja GB GB GB Nein > Wähle Plan aus Baseline mit niedrigsten Kosten SQL Plan Management in Enterprise Manager 19
SQL Plan Management Administration Initialisierungsparameter Zum Einschalten von automatischen Plan Capture OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE/FALSE Zur Nutzung von Plan Baselines: OPTIMIZER_USE_SQL_PLAN_BASELINES=TRUE/FALSE DD View: DBA_SQL_PLAN_BASELINES: Zeigt die Plan Baselines Vollständige Integration in Enterprise Manager PackageDBMS_SPM zum Manipulieren von Plan Historie und Plan Baselines Real Application Testing Reduziert Testkosten und Zeit Erhöht Testqualität Minimiert Risiko Schnellere Einführung von Änderungen Einhaltung von SLAs Testen Change Korrigieren Anwen- den 20
Real Application Testing Neue Datenbankoption nur für EE verfügbar Beinhaltet zwei Verfahrensweisen SQL Performance Analyzer (SPA) Database Replay (DB Replay) Basierend auf lizenzierte Management Packs Tuning Pack für SPA Diagnostic Pack für DB Replay SQL Performance Analyzer (SPA) Konzept Untersuchung auf Auswirkungen bzgl. SQL Last (ab 10gR2) Unterstützung bei Datenbank Upgrades, Implementierung von Tuning Empfehlungen, Schema-Änderungen, Parameteränderungen, Statistik Gathering, OS/Hardware Änderungen Analysiert Performance Unterschiede und gibt feingranulare Analysen pro Statement Analyse bzgl unterschiedlicher Vergleichsmetriken: Elapsed Time, CPU Time, Buffer Gets, Optimizer Cost etc. Ist integriert mit SQL Tuning Advisor, um negative Ergebnisse zu tunen 21
SQL Performance Analyzer Beispiel Produktion (10.2) Test (11.1) SQL Tuning Set erstellen STS übertragen SQL ausführen vor Änderung SQL ausführen nach Änderung Vergleich Mögliche Szenarios im EM Upgrade Simulation Änderung an Initialisierungsparameter Manuelle Änderungen Alle basieren auf SQL Tuning Sets SQL Text, Pläne, Bindvariablen, Ausführungsstatistiken 22
SPA Performance Analyse zentraler, geführter Workflow Workflow leitet Benutzer durch den gesamten Prozess SPA Performance Analyse Ergebnisübersicht Übersicht zeigt verbesserte und verschlechterte SQL Kommandos Drill Down zum einzelnen SQL Kommando 23
SPA Performance Analyse Vergleich der Ausführungspläne Database Replay Konzept Echte Workload aus einem Produktivsystem wird in einem Testsystem angewendet Identifiziert und analysiert Probleme die durch die Änderung am System auftreten Probleme können gelöst werden bevor sie wirklich auftreten Benutzung Enterprise Manager PL/SQL (DBMS_WORKLOAD_CAPTURE und DBMS_WORKLOAD_REPLAY) Analysen Fehler Datendivergenz Performance Divergenz ADDM, AWR für weitere Analysen 24
Database Replay Beispiel Produktion (10.2.0.4) Test (11.1) Capture Erfassen (Capture) Vorbereitung (Process) Ausführung (Replay) Analyse & Reports DB Replay vollständig in EM zentraler, geführter Workflow Workflow leitet Benutzer durch den gesamten Prozess 25
DB Replay im EM Capture DB Replay im EM Replay 26
DB Replay im EM Vielzahl von Reports Workload Replay AWR Compare Period AWR ASH Report Self Managing Database Manage Performance & Resource Manage Fault ADR Support Workbench Data Recovery Advisor Health Checks Automatisches Memorymanagement Automatisches SQL Tuning Partition Advice Manage Change SQL Plan Management Real Application Testing mit SQL Performance Analyzer und Database Replay 27
28