Fragen zum Tunen einer Oracle Datenbank oder generell zum Testen von Oracle Datenbank Workloads werden immer wieder gestellt. Häufig kann dabei das
Oracle Database Advisor Framework gute Unterstützung geben. Nehmen wir beispielsweise die Überprüfung von Oracle Datenbank Performance
über AWR (Automatic Workload Repository) Reports. Eine gute Hilfestellung bei der Interpretation liefert Automatic Database Diagnostic Monitor (kurz ADDM), dessen Informationen am Ende des Reports zu finden sind.
Was sind eigentlich Oracle Database Advisor? Oracle Database Advisor analysieren die Datenbank in den unterschiedlichsten Bereichen, nicht nur beim Tuning der Datenbank.
So können Advisors auch bei der Einschätzung von Zugriffstrukturen, Securitykonfigurationen, Segmentkomprimierung usw. helfen. Sie liefern damit die Grundlage für
Automatisierungen innerhalb der Oracle Datenbank beispielsweise für Autonomous Datenbank und können dem DBA und Datenbank Entwickler eine gute Unterstützung
beim Arbeiten mit der Oracle Datenbank bieten.
Woraus bestehen Oracle Database Advisor? Advisors sind in der Regel über unterschiedliche Methoden nutzbar - über graphischen Werkzeuge wie der
Enterprise Manager oder SQL Developer, skriptgesteuert über PL/SQL Packages, Initialisierungsparameter oder auch über die entsprechenden V$-Views.
Die meisten von ihnen stehen schon bei der Installation zur Verfügung und können sofort genutzt werden. Andere kann man separat von My Oracle Support
laden oder sind über die Cloud Console aktivierbar. Im Unterschied zu Alerts sind Advisors Ressource intensiver, da ihre Analyse und Lösungsvorschläge einen größeren Detailgrad aufweisen.
Wichtig zu wissen ist, wie die Advisors zu verwenden sind und welche Ratschläge man erwarten kann.
Mit der Weiterentwicklung der Datenbank und des Datenbank Offerings werden immer wieder neue Advisors
zur Verfügung gestellt. Möchte man einen aktuellen Überblick über die gängigsten Advisors (Stand Januar 2020) bekommen, kann folgende Tabelle dazu verwenden. Sie sind geordnet nach Anwendungsbereichen und geben erste Hinweise zur Verwendung.
Hinweis: Die graphische Verwendung über Oracle Enterprise Manager Cloud Control ist in der Tabelle nicht berücksichtigt.
| Bereich | Name | Verwendung |
|---|---|---|
| Tuning | Automatic Database Diagnostic Monitor (ADDM) | Im AWR Report oder mit DBMS_ADDM |
| Tuning | Memory Advisor | DB_CACHE_ADVICE, im AWR Report oder in V$DB_CACHE_ADVICE |
| Tuning | SQL Tuning Advisor | Mit Automatischer Maintenance Task oder DBMS_ADVISOR |
| Tuning | SQL Access Advisor | Mit Automatischer Maintenance Task oder DBMS_ADVISOR |
| Tuning | Segment Advisor | Mit Automatischer Maintenance Task oder DBMS_ADVISOR |
| Tuning | PL/SQL Hierarchical Profiler | SQL Developer oder DBMS_HPROF und plshprof |
| Tuning und Testen | SQL Performance Analyzer | DBMS_SQLPA |
| Tuning und Testen | Database Replay | DBMS_WORKLOAD_CAPTURE und DBMS_WORKLOAD_REPLAY |
| Tuning und Konfiguration | Statistics Advisor | Mit Automatischer Maintenance Task oder DBMS_STATS |
| Einsatz von In-Memory | In-Memory Advisor | Download: My Oracle Support (Doc ID 1965343.1) |
| Segment Komprimierung | Compression Advisor | DBMS_COMPRESSION |
| Eignung für Autonomous DB | Autonomous Database Schema Advisor | Download: My Oracle Support (Doc ID 2462677.1) |
| Cloud Security | Data Safe | OCI Console |
| Security | Database Security Assessment Tool (DBSAT) | Download: My Oracle Support (Doc ID 2138254.1) |
| Verfügbarkeit | Data Recovery Advisor | RMAN und ADRCI Kommandos |
| Verfügbarkeit | Mean Time To Recover (MTTR) Advisor | FAST_START_MTTR_TARGET,V$INSTANCE_RECOVERY, V$MTTR_TARGET_ADVICE |
| Verfügbarkeit | SQL Repair Advisor | DBMS_SQLDIAG |
| Verfügbarkeit | UNDO Advisor | DBMS_ADVISOR, DBMS_UNDO_ADV |
Folgende alphabetische Liste gibt eine kurze Beschreibung der einzelnen Advisors und listet die zugehörigen aktuellen Handbuch- und My Oracle Support Einträge.
ADDM (Automatic Database Diagnostic Advisor) diagnostiziert Datenbank Performance Probleme über eine regelmäßige Auswertung der Automatic Workload Repository (AWR) Daten.
ADDM kann damit die Ursachen von Performance-Problemen auffinden, Empfehlungen zur Behebung der Probleme geben und sollte in den meisten Fällen an erster
Stelle bei der Suche nach Verbesserungen stehen. Informationen dazu finden sich im Tuning Handbuch im Abschnitt Automatic Performance Diagnostics
Oracle Autonomous Database Schema Advisor überprüft Datenbanken (ab Version 10.2) auf Eignung für Autonomous Database. Er besteht aus dem Package ADB_ADVISOR und einigen
Hilfstabellen, die über ein SQL Skript nachträglich auf der On-Premise Database installiert werden. Download und weitere Informationen zur Verwendung findet man in der
My Oracle Support Note (mit DOC ID 2462677.1).
Der Compression Advisor hilft bei der Auswahl der richtigen Segment Komprimierung. Er berechnet
die Komprimierungsrate pro Tabelle oder Partition für unterschiedliche Komprimierungsalgorithmen im Voraus. Dabei kann sogar EHCC
(kurz für Exadata Hyprid Columnar Compression) oder auch die Komprimierung von Tabellen für den In-Memory Columnstore berechnet werden.
Auf der anderen Seite kann man damit auch den eingestellten Komprimierungstyp diagnostizieren. Informationen dazu finden sich im PL/SQL Packages and Types Reference Guide unter DBMS_COMPRESSION.
Der Data Recovery Advisor analysiert persistente "Failure" wie Daten-Korruptionen und gibt Ratschläge, wie diese Probleme zu beheben sind.
Data Recovery Advisor kann entweder RMAN-Kommandozeilenschnittstelle oder das ADRCI (Automatic Diagnostic Repository) Command-Line Utility verwendet werden.
Informationen dazu finden sich im Backup and Recovery User's Guide unter Diagnosing and Repairing Failures with Data Recovery Advisor.
Oracle Database Security Assessment Tool (DBSAT) überprüft, wie sicher die Datenbank konfiguriert ist, wer die Benutzer sind und welche Berechtigungen sie haben,
welche Sicherheitsrichtlinien und -kontrollen vorhanden sind und wo sich sensible Daten befinden. Ziel ist dabei potenzielle Sicherheitsrisiken zu vermindern. Download und Beschreibung des Kommandozeilen Werkzeugs findet man in
Oracle Database Security Assessment Tool (DBSAT) (Doc ID 2138254.1).
Oracle Data Safe ist ein integrierter Cloud-Service, der u.a. Funktionen zum Schutz sensibler und regulierter Daten in Oracle Cloud-Datenbanken
liefert. Zu den Funktionen gehören Assessments zur generellen Sicherheitsbewertung, Bewertung der User Konfigurationen, sensitiven Datenermittlung,
Datenmaskierung und Aktivitätsprüfung. Weitere Informationen dazu finden
sich in der OCI Dokumentation unter Data Safe.
Database Replay kann einen gesamten Datenbank Worklaod aufzeichnen (auch capture) und auf einem Testsystem mit dem genauen Timing, der Concurrency und den Transaktionsmerkmalen
des ursprünglichen Workloads wiedergeben. Die Verwendung ist entweder graphisch über den Enterprise Manager oder über DBMS_WORKLOAD_CAPTURE und über DBMS_WORKLOAD_REPLAY möglich.
Weitere Informationen finden sich im Testing Guide unter Part II Database Replay.
Der Memory Advisor analysiert die unterschiedlichen Cache Größen in einer WHAT-IF Analyse. Zu beachten ist, dass die Oracle Datenbank das Memory je nach Wahl der Memory Management
Methode selbst einstellt und somit kein manuelles Eingreifen nötig ist. Voraussetzung für die Nutzung ist der Parameter DB_CACHE_ADVICE (mit Wert ON). Informationen dazu findet man im Database Performance Tuning Guide in Tuning the Database Buffer Cache.
Der In-Memory Advisor ist ein PL/SQL-Package, das den Datenbank Workload in Bezug auf die In-Memory Verwendung analysiert. Er kann
eine Größe für den In-Memory Columnstore berechnen und eine Liste von Objekten angegeben, die von der In-Memory-Belegung profitieren würden. Das Package muss separat von My Oracle Support Note (Doc ID 1965343.1) geladen werden.
Der MTTR Advisor hilft die Instance Verfügbarkeit im Falle eines Instance Crashs oder Ausfalls zu erhöhen. Dazu wird FAST_START_MTTR_TARGET auf einen Wert ungleich Null gesetzt.
FAST_START_MTTR_TARGET ist dabei das Ziel für die erwartete mittlere Zeit bis zur Wiederherstellung (MTTR) an. Das Ergebnis findet man dann in V$MTTR_TARGET_ADVICE und V$INSTANCE_RECOVERY.
Weitere Informationen dazu findet man im Database Performance Tuning Guide unter Tuning Instance Recovery Performance: Fast-Start Fault Recovery.
Der PL/SQL Hierarchical Profiler identifiziert Performance Engpässe in PL/SQL-Anwendungen. Der Bericht liefert Informationen zu den Ausführungszeiten der übergeordneten Programme und anteilig zu den zugehörigen Unterprogrammen.
SQL- und PL/SQL-Ausführungszeiten werden dabei getrennt verzeichnet. Es ist keine spezielle Vorbereitung des Source Codes oder der Kompilierungszeit erforderlich. Vermutet man PL/SQL Engpässe sollte man in jedem Fall den PL/SQL Advisor zurate ziehen.
Weitere Informationen findet man im Database Development Guide unter Using the PL/SQL Hierarchical Profiler
Der Segment Advisor findet Segmente, die zu viel Platz verbrauchen. Die Empfehlungen beinhalten die entsprechenden Kommandos zur Freigabe von Speicherplatz. Der Segment Advisor läuft automatisch in der Automatischen Maintenance Task, kann aber auch unabhängig davon manuell über das Package DBMS_ADVISOR gestartet werden.
Weitere Informationen dazu finden sich im Database Administrator's Guide unter The Segment Advisor .
Der SQL Access Advisor gibt Informationen und Empfehlungen über die Zugriffsstrukturen (fehlende aber auch überflüssige) - wie Bitmap Indizes, Function Based Indizes,
B*tree Indizes, Partitionen, materialisierte Views usw. Weitere Informationen sind im SQL Tuning Guide unter
Optimizing Access Paths with SQL Access Advisor zu finden.
Der SQL Performance Analyzer (SPA) führt eine detaillierte Statementanalyse eines SQL Workloads (SQL Tuning Sets) durch und gibt einen Überblick über
die Performance Unterschiede und die Pläne der einzelnen Statements. Die Verwendung ist entweder graphisch über den Enterprise Manager oder über das Package DBMS_SQLPA möglich.
Oracle Enterprise Manager Cloud Control enthält darüberhinaus die Funktion SQL Performance Analyzer Quick Check (kurz SPA Quick Check). Damit können auf einigen Enterprise Manager Pages
Auswirkungen von gewissen Änderungen auf die Datenbanklast vorab geprüft werden. Informationen zu SPA gibt es im Testing Guide unter Introduction to SQL Performance Analyzer
Der SQL Repair Advisor analysiert SQL Statements mit kritischen Fehlern und versucht das Problem mit einem SQL Patch zu beheben, der dem Optimizer einen alternativen Plan vorschlägt.
Das benötigte Interface ist das Package DBMS_SQLDIAG bzw. Oracle Enterprise Manager Cloud Control.
Informationen dazu finden sich im Database Administrator's Guide unter About the SQL Repair Advisor.
Der SQL Tuning Advisor führt einen Optimizer-Analyse-Lauf durch und gibt Empfehlungen in den Kategorien: Statistiken, SQL Profiles, Zugriffsstrukturen, SQL Plan Management oder Statementformulierung.
Er kann automatisch in der Maintenance Task laufen oder auch on Demand verwendet werden - graphisch über Cloud Control oder manuell mit dem Package DBMS_SQLTUNE.
Informationen dazu finden sich im SQL Tuning Guide unter About SQL Tuning Advisor.
Der (Optimizer) Statistics Advisor analysiert, wie der Name schon andeutet, das Statistik Management der Oracle Datenbank. Er überprüft wie Statistiken erzeugt wurden, validiert ihre Qualitität und überprüft den Status der Maintenance Tasks.
Optimizer Statistics Advisor kann im automatisierten Mode in der Maintenance Task oder manuell über der Funktion DBMS_STATS.CREATE_ADVISOR_TASK verwendet werden. Weitere Informationen dazu findet man im SQL Tuning Guide unter
Analyzing Statistics Using Optimizer Statistics Advisor.
Der Undo Advisor hilft dabei, eine angemessene Größe für UNDO Tablespaces (mit fester Größe) für langlaufende Abfragen und Flashback Queries festzulegen. Man kann den Undo Advisor über Oracle Enterprise Manager Database Express (EM Express) oder über das
Package DBMS_ADVISOR nutzen. Weitere Informationen finden sich im Database Adminsitrator's Guide unter Sizing a Fixed-Size Undo Tablespace.
Hinweis: Je nach Art des Advisors kann eine zusätzliche Lizenzierung erforderlich sein. Dabei kann die Lizenzierung je nach Offering - Cloud oder On-Premises Umgebungen - unterschiedlich sein. So sind beispielsweise Diagnostics und Tuning Packs, Data Masking und Subsetting Pack und Real Application Testing automatisch in den Cloud Offerings DBCS EE-HP (Database Cloud Service Enterprise Edition - High Performance), DBCS EE-EP (DBCS - Extreme Performance) und ExaCS (Oracle Database Exadata Cloud Service) enthalten (siehe https://www.oracle.com/database/vm-cloud-pricing.html ). Für detaillierte Lizenzierungsfragen für On-Premises und Cloud Umgebungen sollte zusätzlich immer das Database Licensing Information User Manual hinzugezogen werden.
Zurück zur Community-Seite