Insights

Insights sind Anweisungen zu Mustern, die in historischen SQL-Performancedaten beobachtet werden und mit bestimmten Problemtypen oder interessanten Ereignissen konsistent sind. Diese Insights werden täglich berechnet, und insbesondere sind sie keine Tatsachenaussagen, sondern indirekte Signale, die mit bestimmten Arten von Fakten übereinstimmen.

Beispiel: Der Insight Planänderung sucht nach einer Folge von Beobachtungen mit einem Plan-Hash, gefolgt von einer Folge von Beobachtungen mit einem anderen Plan-Hash für einen bestimmten SQL_ID täglich. Dies ist konsistent mit dem allgemeinen Fall, dass der Query Optimizer einen einzelnen Plan für SQL_ID verwendet und dann zu einem anderen Plan wechselt. Es ist unvollkommen, da die erfassten Daten nur alle 30 Minuten den zum Zeitpunkt der Erfassung verwendeten Plan aufzeichnen. Viele Pläne wurden möglicherweise verwendet, die nicht aufgezeichnet wurden, aber das ist nicht der übliche Fall.

Insights werden nach Geltungsbereich gruppiert:
  • Einblicke auf Flottenebene
  • Einblicke auf Datenbankebene
  • Einblicke auf SQL-Ebene
Insight-Regionen und -Widgets
Alle drei primären Dashboards haben eine Multi-Widget-Region namens Insights:Insights-WidgetMit diesen Widgetregionen können Sie mit einem einfachen standardisierten visuellen Kommunikationswidget schnell an einem einzigen Ort nach Erkenntnissen scannen und diese prüfen. Innerhalb dieser Einblicke zeigen die Farbindikatoren die folgenden Status an:
  • Grau: Insight nicht erkannt.
  • Blau: Einsicht entdeckt, wahrscheinlich nicht problematisch.
  • Orange: Einsicht entdeckt, könnte problematisch sein.
Insight-Anwendungsfälle
Insight Anwendungsfall Analyse und Ausgabe Hinweise
Planänderungen Haben Datenbanken mehr als nur einige Planänderungen?

Anzahl?

Anzahl der Datenbanken mit Einblicken in Planänderungen im angegebenen Zeitraum. Insight-Kachelstatusindikator:
  • Blau wenn > 0.
  • Grau, wenn = 0

Das Fehlen von Planänderungen sollte auf Stabilität der Workload hinweisen, wenn die Ausführungsraten ähnlich bleiben.

Invalidierungs-Storms Ist in Datenbanken eine umfangreiche Rekompilierung von SQL/PLSQL aufgrund einer Objektvalidierung aufgetreten?

Anzahl?

Anzahl der Datenbanken mit mindestens einem Tag in dem Zeitraum, in dem die Invalidierungs-Storm-Einblicke wahr waren. Insight-Kachelstatusindikator:
  • Blau wenn > 0.
  • Grau, wenn = 0

Übermäßige und unerwartete Ebenen von SQL-Invalidierungen können ereignisbezogen sein und CPU-intensiv sein.

Chronisch hohe Invalidierungsgrade können zu unnötiger Belastung der Datenbank führen,

Cursorsharingduplikate Haben Datenbanken Anwendungen, die keine Cursor gemeinsam verwenden und CPU verschwenden?

Anzahl?

Anzahl der Datenbanken, in denen Cursor Sharing Insights während des Zeitraums wahr waren. Insight-Kachelstatusindikator:
  • Blau wenn > 0.
  • Grau, wenn = 0
SQL mit Performanceverschlechterung

Verfügen Datenbanken über SQL, das sich im Laufe der Zeit verschlechtern kann?

Anzahl?

Anzahl der Datenbanken mit mindestens einem SQL_ID, bei denen der herabsetzende SQL-Insight im Zeitraum wahr war. Insight-Kachelstatusindikator:
  • Orange, wenn > 0.
  • Grau, wenn = 0

Insights auf Datenbankebene

Insight Anwendungsfälle Analyse und Ausgabe Hinweise
Herabstufungstrend Verfügt die Datenbank über SQL-Anweisungen, die eine Verschlechterung der Performance im angegebenen Zeitraum aufweisen?

Anzahl?

Anzahl der SQL_ID mit sich verschlechternden Performancetrend-Insights im Zeitraum. Pro Datenbank berechnet (alle Instanzen kombiniert)
Insight-Kachelstatusindikator:
  • Orange, wenn > 0.
  • Grau (nicht erkannt) wenn = 0
Trendverbesserung Verfügt die Datenbankinstanz über SQL-Anweisungen, mit denen die Performance im angegebenen Zeitraum verbessert wird?

Anzahl?

Anzahl der SQL_ID mit verbesserten Performancetrendeinblicken im angegebenen Zeitraum.

Pro Datenbank berechnet (alle Instanzen kombiniert)

Insight-Kachelstatusindikator:
  • Blau wenn > 0.
  • Grau (nicht erkannt) wenn = 0
Planänderungen mit Verschlechterung Haben Datenbankinstanzen Planänderungen gesehen, die im Zeitraum die Performance verschlechtert haben?

Anzahl?

Anzahl der SQL_ID mit einzelnen Planänderungs-Insights, die im Zeitraum als herabgestuft eingestuft wurden Die insgesamt geschätzten zusätzlichen Sekunden pro gespeichertem Tag werden für das Ranking dieser Datenbank mit anderen berechnet.
Insight-Kachelstatusindikator:
  • Orange, wenn > 0.
  • Grau (nicht erkannt) wenn = 0

HINWEIS: Planänderungen erfolgen pro Instanz

Planänderungen mit Verbesserung Haben Datenbankinstanzen Planänderungen gesehen, die im Zeitraum die Performance verbessert haben?

Anzahl?

Anzahl der SQL_ID mit einzelnen Planänderungs-Insights, die im Zeitraum verbessert werden sollen Die geschätzte Summe der pro Tag gespeicherten Sekunden wird berechnet, um diese Datenbank mit anderen zu vergleichen.
Insight-Kachelstatusindikator:
  • Blau wenn > 0.
    • Grau (nicht erkannt) wenn = 0

HINWEIS: Planänderungen erfolgen pro Instanz

Invalidierungs-Storm Wurde SQL in der Datenbankinstanz während des Zeitraums häufig invalidiert und rekompiliert? Anzahl der Tage, an denen mindestens 20% der insgesamt erfassten SQL-Anweisungen an diesem Tag invalidiert wurden. Dies ist ein echter Einblick auf Datenbankebene, da es sich um alle SQL handelt, die pro Tag von den Datenbankinstanzen erfasst werden.
Insight-Kachelstatusindikator:
  • Blau wenn > 0.
  • Grau (nicht erkannt) wenn = 0
Neue SQL Hat die Datenbank im Zeitraum neue Arbeit geleistet?

Welche SQL und wie viel Arbeit?

Anzahl der SQL_ID mit anfänglichem Collection-Zeitstempel im Zeitraum. SQL ist möglicherweise nicht wirklich neu in der Datenbank, sondern nur neu in Ops Insights.
Insight-Kachelstatusindikator:
  • Blau wenn > 0.
  • Grau (nicht erkannt) wenn = 0

Insights auf SQL-Ebene

Insight Anwendungsfall Analyse und Ausgabe Hinweise
Performancetrend Ist die SQL-Ausführungslatenz im Laufe der Zeit konstant hoch- oder heruntergefahren?

Die Ausführungspläne können für die Erweiterung oder den Vertrag von Datengrößen sensibel sein.

Signale wahr für alle SQL_ID, wobei die lineare Regression über aggregierte durchschnittliche Latenzen, die im Zeitraum beobachtet wurden, mindestens 1⁄2 die Abweichung (R2 > 0,5) in der aggregierten durchschnittlichen Latenz erklärt, UND die prozentuale Änderung in der linearen Regressionslinie +/- 20% überschreitet Für die Regression sind mindestens 5 Beobachtungen pro SQL_ID erforderlich.
  • Eine positive Regressionsneigung weist auf einen herabstufenden Trend hin.
  • Negative Regressionsneigung gibt den Trend Verbesserung an.

Insight-Kachelstatusindikator:

  • Orange = Abbau
  • Blau = Verbesserung
  • Grau = nicht erkannt

Das Limit von 20% muss im Kontext des ausgewählten Zeitraums berücksichtigt werden.

Pro Datenbank berechnet (Instanzen zusammengefasst).

Performancevariabilität Hat SQL eine große Variation der durchschnittlichen Gesamtlatenzen gezeigt? Signale für eine SQL_ID wahr, wenn der Bereich in aggregierten durchschnittlichen Latenzen geteilt durch die durchschnittliche Gesamtlatenz des Aggregats größer als 25% ist. Mindestens 5 Beobachtungen erforderlich.
Insight-Kachelstatusindikator:
  • Orange, wenn > 25%
  • Grau, wenn = 0
  • 0 < Blau < 25%
Sinnvoller für längeres Ausführen und weniger häufig ausgeführtes SQL.
Einzelne Planänderung Hat SQL eine Planänderung in der Datenbank während des Zeitraums angezeigt?

Hat sich die Planänderung auf die Leistung ausgewirkt?

Wie viel?

Indikator, dass für die ausgewählte SQL-ID einzelne Tagesplanänderungen während des Zeitraums aufgetreten sind. Die letzte Planänderung wird verwendet, um die Verschlechterung oder Verbesserung zu bestimmen. Mindestens 5 Beobachtungen erforderlich.
  • Eine höhere durchschnittliche Latenz für einen neuen Plan weist auf eine Leistungsregression hin.
  • Eine geringere durchschnittliche Latenz für einen neuen Plan weist auf eine Verbesserung der Performance hin.
Insight-Kachelstatusindikator:
  • Orange = Leistungsregression
  • Blau = Leistungssteigerung
  • Grau = nicht erkannt

Die Plandaten werden entnommen und sind nicht vollständig.

Wird pro Instanz berechnet, da verschiedene Instanzen unterschiedliche Pläne haben können.

Mehrere Pläne Wurde SQL im angegebenen Zeitraum unter mehreren Plänen in der Datenbank ausgeführt? Signale wahr, wenn die Anzahl der eindeutigen Plan-Hash-Werte für SQL_ID 1 überschreitet. Planinformationen werden geprüft und sind nicht vollständig. Daher können mehr Pläne als die erfassten vorhanden sein.

Signalisiert mit einer einzigen Planänderung.

Insight-Kachelstatusindikator:
  • Blau = Pflanzenanzahl >1
  • Grau = Plananzahl = 1

Pro Datenbank berechnet (Instanzen zusammengefasst).

Cursorsharingduplikate

Gibt es SQL, die Parsing und Optimierung gemeinsam nutzen können, um Bind-Variablen nicht zu verwenden?

Wie viel überschüssige CPU wird verschwendet?

Signale wahr, wenn die Anzahl der eindeutigen SQL_ID mit derselben Force Matching-Signatur > 1 ist. Pro Datenbankinstanz berechnet.
Insight-Kachelstatusindikator:
  • Blau = Duplikate > 0
  • Grau = Duplikate = 0
Enthält nur SQL_ID mit Ausführungen = 1.

Geschätzte überschüssige Parse-CPU wird als SUM (durchschnittliche Hard Parse-Zeit) berechnet – AVG (durchschnittliche Hard Parse-Zeit) auf der Grundlage, dass Hard Parsing die gesamte CPU ist und die durchschnittliche Hard Parse-Zeit kein Durchschnitt ist, da die Ausführungen für alle SQL 1 sind.

Die obige Schätzung ist wahrscheinlich eine sehr niedrige Schätzung des gesamten CPU-Verlusts, da viele ausgeführte Duplikate nicht erfasst wurden.