Die Berater in der Datenbank: die Advisors

  • Erstellt von Ulrike Schwinn
  • Datenbank

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 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
(wie Memory, SGA, PGA, Shared Pool etc.), falls DB_CACHE_ADVICE=ON

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.