Was ist eigentlich ein Advisor? Der englische Begriff „advisor“ lässt sich mit "Berater" oder "Ratgeber" übersetzen und findet mittlerweile in vielen Bereichen eine Anwendung: Personal Advisor, Investment Advisor, Trusted Advisor. Der Terminus hat sich auch schon längst in die Datenbank oder in die Datenbank-Werkzeuge eingeschlichen. 
Was zeichnet nun einen Advisor in der Oracle-Datenbank aus? Müssen Advisors nicht generell lizenziert werden? Muss man Advisors aktivieren oder sind diese automatisch eingeschaltet? Wie kann das Advisory Framework bei der täglichen DBA Arbeit unterstützen? Fragen, die sich immer wieder stellen.
Seit jeher existiert ein Advisory Framework in der Datenbank. Advisors analysieren die Datenbank in den unterschiedlichsten Bereichen – wie zum Beispiel im Bereich Memory, Speicherverwaltung, Undo-Management oder im Bereich Performance. Sie müssen nicht zusätzlich installiert werden und sind teilweise schon aktiviert.
Die Skripte oder Ratschläge werden normalerweise nur aufgelistet und müssen vom DBA explizit durchgeführt werden. Der DBA behält somit stets die Kontrolle. Wichtig zu wissen ist vor allem, wo und wie die Advisors und ihre Ratschläge zu finden sind. Im Unterschied zu Alerts sind die Ressourcen von Advisors intensiver, da ihre Analyse und Lösungsvorschläge einen größeren Detaillierungsgrad aufweisen.
Advisors sind in der Regel über unterschiedliche Methoden zu nutzen – graphisch über den Enterprise Manager oder SQL Developer, skriptgesteuert über PL/SQL-Packages, über Initialisierungsparameter und V$-Views. Die sogenannten Maintenance Tasks, die in regelmäßigen Intervallen automatisch in der Datenbank ausgeführt werden, können beispielsweise automatisch den Segment bzw. SQL Tuning Advisor starten.
Folgende Tabelle gibt einen aktuellen Überblick über wichtige Advisors (Stand 12.1.0.2).
Name | Lizenzierung | Infrastruktur |
Memory | SE, EE | Einstellung für Komponenten |
MTTR | SE, EE | FAST_START_MTTR_TARGET=wert |
Compression | EE | DBMS_COMPRESSION |
Segment | SE, EE | Automatische Maintenance Task oder DBMS_ADVISOR |
Undo | SE, EE | DBMS_ADVISOR |
SQL Tuning | EE plus Tuning Pack | Automatische Maintenance Task oder DBMS_ADVISOR |
SQL Access | EE plus Tuning Pack | Automatische Maintenance Task oder DBMS_ADVISOR |
ADDM | EE plus Diagnostics Pack | Automatisch nach AWR-Snapshot oder DBMS_ADDM |
SQL Repair | SE, EE | DBMS_SQLDIAG |
Data Recovery | SE, EE | RMAN, ADRCI, DBMS_HM |
SQL Performance Analyzer | EE plus Real Application Testing Option | DBMS_SQLPA |
SE steht für die Standard Edition; EE steht für die Enterprise Edition
In jedem Release werden die Advisors erweitert oder neue Features zu existierenden Advisors hinzugefügt. Ein "prominentes" Beispiel dafür ist der Compression Advisor, der in Oracle Database 12c weitere Objekt- und Datentypen behandeln kann. Des weiteren ist er in der Lage, die Ratio für weitere Komprimierungsarten wie In-Memory Komprimierungstypen oder die Indexkomprimierung zu berechnen. Auch in der neuen schlanken Verwaltungsoberfläche mit dem Namen Oracle Enterprise Manager 12c Database Express sind Advisors zu finden. Es handelt sich dabei um die Tuning Advisors wie ADDM, ASH und SQL Tuning Advisor.
Auf dem Oracle Database Day im Februar erfahren die Teilnehmer, welche Funktionen die Advisors aktuell in der Oracle Database 12c haben, wo die Hilfestellungen zu finden sind und mit welchen Best Practices man erfolgreich sein kann. Die Veranstaltung findet im Februar 2015 in Hamburg, München und Düsseldorf statt und ist kostenlos.Termine,Agenda und Anmeldungen finden sich hier.


