Optimizer-Statistiken überwachen und analysieren

Sie können die Optimizer-Statistiken für eine verwaltete Datenbank überwachen, die Statistikerfassungs- und Optimizer Statistics Advisor-Tasks analysieren und Optimizer Statistics Advisor-Empfehlung in Database Management Diagnostics & Management implementieren.

Um zum Abschnitt Optimizer-Statistiken zu gelangen, navigieren Sie zur Seite Details der verwalteten Datenbank, und klicken Sie im linken Fensterbereich unter Ressourcen auf Optimizer-Statistiken.

Optimizer-Statistiken

Optimizer-Statistiken sind Zusammenstellungen von Daten, mit denen Details zur Datenbank und zu den Objekten in der Datenbank beschrieben werden. Die Statistiken bieten ein statistisch korrektes Bild der Datenspeicherung und -verteilung, das vom Optimizer bei der Auswertung der Zugriffspfade verwendet wird. Der Optimizer verwendet Statistiken, um einen Schätzwert zur Anzahl der Zeilen (und zur Anzahl der Byte) zu erhalten, die aus einer Tabelle, einer Partition oder einem Index abgerufen werden. Der Optimizer schätzt die Kosten für den Zugriff, ermittelt die Kosten für mögliche Pläne und wählt dann den Ausführungsplan mit den niedrigsten Kosten aus.

Optimizer-Statistiken enthalten Folgendes:

  • Tabellenstatistik: Enthält die Anzahl der Zeilen und die Anzahl der Blöcke sowie die durchschnittliche Zeilenlänge.

  • Spaltenstatistik: Enthält die Anzahl der eindeutigen Werte und Nullwerte in einer Spalte sowie die Verteilung der Daten.

  • Indexstatistik: Enthält die Anzahl der Blattblöcke und Indexebenen sowie den Index-Clustering-Faktor.

  • Systemstatistiken: Enthält CPU- und I/O-Performance und -Nutzung.

Weitere Informationen über:

Erfassung von Optimizer-Statistiken

In Oracle Database ist die Erfassung von Optimizer-Statistiken die Erfassung von Optimizer-Statistiken für Datenbankobjekte einschließlich fester Objekte. Standardmäßig verwendet Oracle Database die automatische Erfassung von Optimizer-Statistiken. In diesem Fall führt die Datenbank automatisch DBMS_STATS aus, um Optimizer-Statistiken für alle Schemaobjekte zu erfassen, für die Statistiken fehlen oder veraltet sind. Der Prozess eliminiert viele manuelle Aufgaben im Zusammenhang mit der Verwaltung des Optimizers und verringert das Risiko der Generierung suboptimaler Ausführungspläne aufgrund fehlender oder veralteter Statistiken erheblich. Sie können Statistiken auch manuell mit dem Package DBMS_STATS erfassen.

Oracle Database 19c führt die häufige automatische Erfassung von Optimizer-Statistiken ein. Diese einfache Aufgabe erfasst regelmäßig Statistiken für veraltete Objekte. Das Standardintervall beträgt 15 Minuten. Im Gegensatz zum Job zur automatischen Erfassung von Statistiken führt die häufig ausgeführte Aufgabe keine Aktionen wie das Löschen von Statistiken für nicht vorhandene Objekte oder das Aufrufen von Optimizer Statistics Advisor aus.

Weitere Informationen:

Optimizer Statistics Advisor

Optimizer Statistics Advisor ist eine integrierte Diagnosesoftware, die Aufgaben ausführt, um die aktuelle Art der Erfassung von Optimizer-Statistiken, die Effektivität der vorhandenen Jobs zur Erfassung von Statistiken und die Qualität der erfassten Statistiken zu analysieren. Optimizer Statistics Advisor verwaltet Regeln, die Best Practices von Oracle auf Basis des aktuellen Featuresets darstellen. So bietet der Advisor immer die aktuellsten Empfehlungen für die Erfassung von Statistiken.

Weitere Informationen zu Optimizer Statistics Advisor finden Sie unter Optimizer Statistics Advisor in der SQL-Tuning-Dokumentation für Oracle Database.

Optimizer-Statistikübersicht überwachen

Sie können eine Zusammenfassung der Objektstatistiken in der verwalteten Datenbank und der Aufgaben und Teilaufgaben überwachen, die zum Erfassen von Optimizer-Statistiken ausgeführt werden.

Die folgenden Kacheln werden auf der Registerkarte Übersicht des Abschnitts Optimizer-Statistiken angezeigt und bieten einen Überblick über die Optimizer-Statistiken:

  • Objektstatistiken: Zeigt die aktuellen Statistiken an, die für die Objekte in der verwalteten Datenbank erfasst wurden. Dieses Tortendiagramm bietet einen Einblick in die Anzahl der Objekte, für die neue Statistiken, veraltete Statistiken oder keine Statistiken erfasst wurden.

  • Aufgaben für Statistikerfassung: Zeigt den Status und die Anzahl der Aufgaben zur Erfassung von Optimizer-Statistiken oder den Status und die Anzahl der Datenbankobjekte, für die täglich Statistiken erfasst werden, in den letzten sieben Tagen an. Jeder Balken im Diagramm gibt die Anzahl der an einem bestimmten Tag ausgeführten Aufgaben oder die Anzahl der Objekte an, für die Statistiken an einem bestimmten Tag erfasst wurden. Die Farbe gibt den Status an. Standardmäßig bietet dieses Balkendiagramm einen Überblick über die Anzahl der Aufgaben zur automatischen Erfassung von Optimizer-Statistiken, nach ihrem Status aufgeschlüsselt. Wählen Sie die Option Objektstatus in der Dropdown-Liste Anzeigen nach aus, um die Anzahl der Objekte anzuzeigen, für die Statistiken erfasst wurden. Außerdem können Sie eine Option in der Dropdown-Liste Typ auswählen, um die Anzahl der Aufgaben oder Objekte auf Basis des Mechanismus anzuzeigen, mit dem Statistiken erfasst werden, z.B. automatisch, manuell oder beides.

  • Aufgabenliste für Statistikerfassung: Zeigt die Liste der Aufgaben für das Erfassen von Optimizer-Statistiken der letzten sieben Tage zusammen mit den folgenden Informationen für jede Aufgabe an:

    • Aufgabenname: Name der Aufgabe zur Erfassung von Optimizer-Statistiken.

    • Status: Status der Aufgabe zur Erfassung von Optimizer-Statistiken.

    • Geltungsbereich: Geltungsbereich der Aufgabe zur Erfassung von Optimizer-Statistiken, wie Datenbank, Schema, Index oder Tabelle.

    • Typ: Typ der Aufgabe zur Erfassung von Optimizer-Statistiken: Automatisch oder Manuell.

    • Ziel: Ziel, auf dem die Aufgabe zur Erfassung von Optimizer-Statistiken ausgeführt wurde.

    • Objekte: Gesamtanzahl der gescannten Datenbankobjekte und Anzahl der Datenbankobjekte, für die die Aufgabe zur Erfassung von Optimizer-Statistiken abgeschlossen ist.

    • Dauer: Dauer der Aufgabe zur Erfassung von Optimizer-Statistiken.

    • Startzeit: Startzeit der Aufgabe zur Erfassung von Optimizer-Statistiken.

    Über die Dropdown-Listen und die Felder über der Liste der Aufgaben zur Erfassung von Optimizer-Statistiken können Sie die Aufgaben nach einem bestimmten Typ oder Status filtern oder nach einer bestimmten Aufgabe suchen. Sie können auch auf eine bestimmte Aufgabenstatusleiste im Balkendiagramm Aufgaben für Statistikerfassung klicken, um die Liste der an diesem Tag ausgeführten Aufgaben zur Erfassung von Optimizer-Statistiken anzuzeigen. Diese Funktion ist nicht verfügbar, wenn der Objektstatus im Balkendiagramm Aufgaben für Statistikerfassung angezeigt wird.

Details der Aufgabe zur Erfassung von Optimizer-Statistiken anzeigen

Klicken Sie auf den Namen der Aufgabe in der Aufgabenliste für Statistikerfassung, um zur Seite Aufgabendetails für Statistikerfassung zu navigieren. Sie müssen über die folgenden Berechtigungen verfügen, um die Details der Aufgabe zur Erfassung von Optimizer-Statistiken anzuzeigen:

  • ANALYZE ANY
  • ANALYZE ANY DICTIONARY

Die folgenden Kacheln werden auf der Seite Aufgabendetails für Statistikerfassung angezeigt:

  • Aufgabeninformationen für Statistikerfassung: Zeigt die Informationen zur Aufgabe zur Erfassung von Optimizer-Statistiken an.
  • Unteraufgabenstatus für Statistikerfassung: Zeigt den Status der Unteraufgaben in einem Tortendiagramm an, die als Teil der Aufgabe zur Erfassung von Optimizer-Statistiken ausgeführt werden.
  • Unteraufgabenstatus für Statistikerfassung nach Objekttyp: Zeigt eine Aufschlüsselung der Status der Unteraufgaben nach Datenbankobjekttyp in einem Balkendiagramm an. Jeder Balken im Diagramm gibt einen Datenbankobjekttyp und die Farbe den Status der Unteraufgabe an.
  • Unteraufgaben für Statistikerfassung: Zeigt eine Liste der Unteraufgaben an, die als Teil der Aufgabe zum Erfassen von Optimizer-Statistiken ausgeführt werden.

Optimizer Statistics Advisor-Aufgaben analysieren und Empfehlungen implementieren

Sie können Optimizer Statistics Advisor-Aufgaben überwachen und analysieren und Optimizer Statistics Advisor-Empfehlungen implementieren.

Hinweis

Bei autonomen Datenbanken ist Optimizer Statistics Advisor standardmäßig deaktiviert, und auf der Registerkarte Advisor werden keine Daten angezeigt.

Um zu prüfen, ob Optimizer Statistics Advisor für autonome Datenbanken aktiviert ist, führen Sie die folgende Abfrage aus:

select dbms_stats.get_prefs('AUTO_STATS_ADVISOR_TASK') from dual;

Um Optimizer Statistics Advisor für autonome Datenbanken zu aktivieren, führen Sie die folgende Abfrage aus:

exec dbms_stats.set_global_prefs('AUTO_STATS_ADVISOR_TASK','TRUE');

Die folgenden Kacheln werden auf der Registerkarte Advisor des Abschnitts Optimizer-Statistiken angezeigt und bieten einen Überblick über die Optimizer Statistics Advisor-Aufgaben:

  • Aufgabenübersicht: Zeigt den Status der ausgeführten Optimizer Statistics Advisor-Aufgaben in den letzten sieben Tagen an.

  • Advisor-Aufgaben: Zeigt Status und Anzahl der täglich ausgeführten Optimizer Statistics Advisor-Aufgaben in den letzten sieben Tagen an. Jeder Balken im Diagramm gibt die Anzahl der an einem bestimmten Tag ausgeführten Aufgaben und die Farbe den Status an. Standardmäßig bietet dieses Balkendiagramm eine Übersicht über die Anzahl der automatischen Optimizer Statistics Advisor-Aufgaben, nach Status aufgeschlüsselt. Wählen Sie eine Option in der Dropdown-Liste Typ aus, um die Optimizer Statistics Advisor-Aufgaben auf Basis des Mechanismus anzuzeigen, mit dem sie erfasst werden, z.B. automatisch, manuell oder beides.

  • Liste der Advisor-Aufgaben: Zeigt die Liste der Optimizer Statistics Advisor-Aufgaben der letzten sieben Tage zusammen mit den folgenden Informationen für jede Aufgabe an:

    • Ausführungsname: Name der Ausführung der Optimizer Statistics Advisor-Aufgabe.

    • Aufgabenname: Name der Optimizer Statistics Advisor-Aufgabe.

    • Status: Status der Optimizer Statistics Advisor-Aufgabe.

    • Typ: Typ der Optimizer Statistics Advisor-Aufgabe: Automatisch oder Manuell.

    • Ergebnisse: Ergebnisse der Optimizer Statistics Advisor-Aufgabe.

    • Dauer: Dauer der Optimizer Statistics Advisor-Aufgabe.

    • Startzeit: Startzeit der Optimizer Statistics Advisor-Aufgabe.

    • Nachricht: Nachricht, sofern vorhanden.

Über die Dropdown-Listen und die Felder über der Liste der Optimizer Statistics Advisor-Aufgaben können Sie die Aufgaben nach einem bestimmten Typ oder Status filtern oder nach einer bestimmten Ausführung oder Aufgabe suchen. Sie können auch auf eine bestimmte Aufgabenstatusleiste im Balkendiagramm Advisor-Aufgaben klicken, um die Liste der an diesem Tag ausgeführten Optimizer Statistics Advisor-Aufgaben anzuzeigen.

Optimizer Statistics Advisor-Empfehlungen implementieren

Klicken Sie auf den Ausführungsnamen der Optimizer Statistics Advisor-Aufgabe in der Liste der Advisor-Aufgaben, um zur Seite Optimizer Statistics Advisor-Details zu navigieren.

Die folgenden Kacheln werden auf der Seite Optimizer Statistics Advisor-Details angezeigt:

  • Optimizer Statistics Advisor-Informationen: Zeigt die Informationen zur Optimizer Statistics Advisor-Aufgabe an.

  • Optimizer Statistics Advisor-Ergebnisse: Zeigt die Ergebnisse der Optimizer Statistics Advisor-Aufgabe zusammen mit den folgenden Informationen an:

    • Regel: Von Oracle bereitgestellter Standard, mit dem Optimizer Statistics Advisor seine Prüfungen ausführt.

    • Ergebnis: Ergebnisse, die von Optimizer Statistics Advisor bereitgestellt werden.

    • Empfehlung: Empfehlungen, die von Optimizer Statistics Advisor bereitgestellt werden.

    • Begründung: Begründung für die Empfehlung, die von Optimizer Statistics Advisor bereitgestellt wird.

    • Details: Klicken Sie auf das Symbol Aktionen (Aktionen), um weitere Details zum Ergebnis und ein Beispiel für das Skript anzuzeigen, mit dem die Empfehlung implementiert werden kann.

Nachdem Sie die Ergebnisse auf der Seite Optimizer Statistics Advisor-Details geprüft haben, können Sie einen Job zur Implementierung aller Empfehlungen erstellen.

Hinweis

Wenn der Datenbankbenutzer nicht über die erforderlichen Berechtigungen verfügt, werden die Ergebnisse möglicherweise nicht auf der Seite Optimizer Statistics Advisor-Details angezeigt, und die Schaltfläche Alle Empfehlungen implementieren ist möglicherweise nicht verfügbar, selbst wenn Ergebnisse für die Aufgabe vorhanden sind. Es wird empfohlen, dass Sie die Zugangsdaten für die erweiterte Diagnose auf einen Benutzer mit den erforderlichen Berechtigungen setzen. Weitere Informationen finden Sie unter Bevorzugte Zugangsdaten in Diagnostics & Management festlegen.

So implementieren Sie die Optimizer Statistics Advisor-Empfehlungen:

  1. Klicken Sie im Abschnitt Optimizer Statistics Advisor-Ergebnisse auf Alle Empfehlungen implementieren.
  2. Im Bereich Alle Empfehlungen implementieren:
    1. Geben Sie die folgenden Informationen an, um einen Job zum Implementieren der Empfehlungen zu erstellen:
      1. Jobname: Prüfen Sie den automatisch eingetragenen Namen des Jobs, und ändern Sie ihn bei Bedarf.
      2. Jobbeschreibung: Prüfen Sie die automatisch eingetragene Beschreibung des Jobs, und ändern Sie sie bei Bedarf.
    2. Jobparameter angeben:
      1. Zugangsdatentyp: Wählen Sie eine der verfügbaren Optionen aus, um Datenbankzugangsdaten für die Verbindung zur verwalteten Datenbank anzugeben. Informationen zu Zugangsdatentypen finden Sie unter Diagnose- und Verwaltungsaufgaben mit Zugangsdaten ausführen.
        Hinweis

        Der angegebene Benutzer muss über die folgenden Berechtigungen verfügen, um den Job zur Implementierung von Empfehlungen weiterzuleiten:
        • ANALYZE ANY
        • ANALYZE ANY DICTIONARY
      2. Bucket-Name: Wählen Sie den Oracle Object Storage-Bucket aus, in dem die Jobausgabe gespeichert wird. Der Oracle Object Storage-Bucket kann sich in demselben Compartment wie der Job oder in einem anderen Compartment befinden. Sie müssen über die erforderlichen Oracle Cloud Infrastructure Object Storage-Serviceberechtigungen zur Auswahl des Buckets verfügen. Weitere Informationen finden Sie unter Erforderliche zusätzliche Berechtigungen zum Verwenden von Diagnose und Management.
    3. Klicken Sie optional auf SQL anzeigen, um die auszuführende SQL-Anweisung anzuzeigen.
    4. Klicken Sie auf Alle Empfehlungen implementieren.

Alle Optimizer Statistics Advisor-Empfehlungen werden jetzt implementiert, und Sie können diesen Job im Abschnitt Jobs auf der Seite Details der verwalteten Datenbank überwachen.