Blog Name
  • Montag, 7. August 2017

Datenbank Advisor im Überblick

Advisors analysieren die Datenbank in den unterschiedlichsten Bereichen - wie zum Beispiel im Bereich Memory, Speicherverwaltung, Undo-Management oder im Bereich Performance. Sie müssen in der Regel nicht zusätzlich installiert werden und sind sogar teilweise schon aktiviert. Ausnahmen gibt es aber auch hier - wie zum Beispiel der Advisor für die Database In-Memory Option, der leicht zu installieren und zu verwenden ist. Wichtig zu wissen ist, wie die Advisors zu verwenden sind und welche Ratschläge man erwarten kann. Im Unterschied zu Alerts sind Advisors allerdings Ressource intensiver, da ihre Analyse und Lösungsvorschläge einen größeren Detailgrad aufweisen.

Advisors sind in der Regel über unterschiedliche Methoden zu nutzen - über die graphischen Werkzeuge wie der Enterprise Manager oder SQL Developer, skriptgesteuert über PL/SQL Packages, Initialisierungsparameter und V$-Views. Eine wichtige Voraussetzung zum Funktionieren der meisten Advisors ist der Wert des Parameters STATISTICS_LEVEL. Der empfohlene Default-Wert ist TYPICAL. Diese Einstellung ist notwendig, um das Sammeln von Advisory-Statistiken zu aktivieren und hat keinen Einfluss auf die Lizenzierung von Packs. Die Einstellung BASIC hingegen schaltet einige Advisors aus und kann auch nur bei manueller SGA Verwaltung verwendet werden.

Über die Jahre ist das Advisory Framework weiter gewachsen: Der neueste Advisor - der (Optimizer) Statistics Advisor - ist mit Oracle Database 12.2 eingeführt worden. Folgende Liste gibt einen aktuellen Überblick über wichtige Advisors (Stand August 2017) in alphabetischer Reihenfolge.

ADDM (Automatic Database Diagnostic Advisor) diagnostiziert Datenbank Performance Probleme. Normalerweise werden diese Empfehlungen automatisch nach jedem AWR Snapshot generiert.

Der Compression Advisor berechnet die Komprimierungsrate pro Tabelle oder Partition für unterschiedliche Komprimierungsalgorithmen - sogar für EHCC (Exadata Hyprid Columnar Compression). Darüber hinaus kann er den eingestellten Komprimierungstyp diagnostizieren.

Der Data Recovery Advisor analysiert persistente "Failure" (z.B. Daten-Korruptionen) und gibt Ratschläge, wie diese Probleme zu beheben sind.

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.

Der Database In-Memory Advisor analysiert einen Workload und gibt Ratschläge wie die Datenbank für In-Memory konfiguriert werden soll.

Der MTTR Advisor analysiert das Checkpoint Verhalten mit dem aktuellen Wert von FAST_START_MTTR_TARGET und vier weiteren abgeleiteten Werten.

Der Segment Advisor findet Segmente, die zu viel Platz verbrauchen. Die Empfehlungen beinhalten die entsprechenden Kommandos zur Freigabe von Speicherplatz.

Der SQL Access Advisor gibt Informationen und Empfehlungen über die Zugriffsstrukturen (fehlende oder überflüssige) - wie Bitmap Indizes, Function Based Indizes, B*tree Indizes, materialisierte Views usw. Zusätzlich empfiehlt er eventuell Partitionierung für nicht partitionierte Tabellen.

Der SQL Performance Analyzer (SPA) führt eine detaillierte Statementanalyse eines definierten SQL Workload durch und gibt einen Überblick über die Performance Unterschiede und die Pläne der einzelnen Statements.

Der SQL Repair Advisor analysiert Statements mit kritischen Fehlern und versucht, einen SQL Patch vorzuschlagen, der dem Optimizer einen alternativen Plan vorschlägt.

Der SQL Tuning Advisor führt einen Optimizer-Analyse-Lauf durch und gibt Empfehlungen in den Kategorien: Statistiken, SQL Profiles, Zugriffsstrukturen und Statementstruktur.

Der (Optimizer) Statistics Advisor analysiert wie Statistiken erzeugt wurden, validiert die Qualitität von Statistiken und überprüft den Status der Maintenance Tasks (hier: auto stats gathering).

Der Undo Advisor hilft dabei, eine angemessene Größe des UNDO Tablespaces für langlaufende Abfragen und Flashback Queries festzulegen.

Advisors können meist manuell über PL/SQL Packages wie DBMS_ADVISOR oder auch automatisch über die automatischen Maintenance Tasks verwendet werden - um nur zwei Beispiele zu nennen. Folgende Tabelle gibt Aufschluss über die Lizenzierung (On-Premise) und die verfügbare Infrastruktur.

NameLizenzierungInfrastruktur
ADDMEE plus Diagnostics PackAutomatisch nach AWR-Snapshot oder DBMS_ADDM
CompressionEEDBMS_COMPRESSION
Data RecoverySE, EERMAN und ADRCI Kommandos
In-Memory AdvisorEE plus Tuning PackOracle Database In-Memory Advisor (Doc ID 1965343.1)
MemorySE, EEEinstellung von SGA, PGA, Shared Pool etc. (mit DB_CACHE_ADVICE=ON)
MTTR Advisor (Fast Start Fault Revocery) EEFAST_START_MTTR_TARGET=wert
SegmentSE, EEAutomatische Maintenance Task oder DBMS_ADVISOR
SQL AccessEE plus Tuning PackAutomatische Maintenance Task oder DBMS_ADVISOR
SQL Performance AnalyzerEE plus Real Application Testing OptionDBMS_SQLPA
SQL RepairSE, EEDBMS_SQLDIAG
SQL TuningEE plus Tuning PackAutomatische Maintenance Task oder DBMS_ADVISOR
(Optimizer) Statistics AdvisorSE, EEAutomatische Maintenance Task oder DBMS_STATS
UndoSE, EEDBMS_ADVISOR oder DBMS_UNDO_ADV

SE steht dabei für die Standard Edition; EE steht für die Enterprise Edition.

Diagnostics und Tuning Packs sind automatisch in den Cloud Offerings DBCS EE-HP (für Oracle Database Cloud Service Enterprise Edition - High Performance), DBCS EE-EP (für Oracle Database Cloud Service Enterprise Edition - Extreme Performance) und ExaCS (für Oracle Database Exadata Cloud Service) enthalten. Für detaillierte Lizenzierungsfragen für On-Premise und Cloud Umgebungen sollte zusätzlich immer das Database Licensing Information User Manual hinzugezogen werden.

Für die Verwendung von SQL Tuning und SQL Access und Database In-Memory Advisor ist darüberhinaus die Einstellung DIAGNOSTIC+TUNING für den Parameter CONTROL_MANAGEMENT_PACK_ACCESS notwendig. Für das Funktionieren von ADDM muss dieser Parameter den Wert DIAGNOSTIC oder DIAGNOSTIC+TUNING beinhalten.

Hinweis: Die hier erwähnten Advisors und Werkzeuge stehen ohne Einschränkungen in einer Multitenant wie auch einer Non CDB Umgebung zur Verfügung. Weitere Informationen zu der Funktionsweise der verschiedenen Advisors erhalten Sie entweder in den entsprechenden Handbüchern wie Database SQL Tuning Guide, Database Administrator's Guide und Database PL/SQL Packages and Types Reference oder aber auch über unseren Blog (Suchwort Advisor).

 

Zurück zum Anfang des Artikels

Zurück zur Community-Seite
 

Visit the Oracle Blog

 

Contact Us

Oracle

Integrated Cloud Applications & Platform Services