SQL-Statistiken - Täglich
Das Datenobjekt "SQL-Statistik - Täglich" ist für Management Agent Cloud Service-verwaltete, Oracle Database Cloud Service-Datenbanken und Oracle Autonomous Databases mit aktiviertem vollständigen Featureset verfügbar.
Datenerfassung
Ops Insights wurde erweitert, um Zeilen aus der internen Oracle-Datenbank-View V$SQLSTATS regelmäßig zu erfassen. Diese Ansicht auf Instanzebene zeichnet zahlreiche Kennzahlen für Ausführungsperformance-Instrumentierungen auf der Ebene der einzelnen SQL_ID auf.
SQL-Performancedaten werden mit der folgenden groben Pseudologik erfasst:
Für jede RAC-Instanz--
- Alle seit der letzten Sammlung aktiven SQL-Anweisungen werden eingestuft
- Top 2000 ausgewählt
- Bestimmte SQL-Anweisungen werden herausgefiltert
Standardmäßig wird die Sammlung alle 1⁄2 Stunden ausgeführt, was zu 48 Sammlungen pro Tag führt.
Delta-Berechnung
Wie oben erfasste SQL-Statistiken erfordern eine signifikante Nachverarbeitung, um den größten Wert als Informationsquelle über SQL-Workloads der Anwendung bereitzustellen.
Die Herausforderung besteht darin, dass diese Statistiken im Allgemeinen monoton steigende Werte pro SQL_ID sind, die sich seit der ersten Ausführung von SQL_ID angesammelt haben. Um den Fortschritt dieser Maßnahmen im Laufe der Zeit zu ermitteln, müssen aufeinanderfolgende Werte voneinander abgezogen werden, um in den Maßnahmen "Deltas" zu erzeugen.
Diese Komplexität wird durch die Tatsache verstärkt, dass SQL_ID nicht jedes Mal gesammelt werden, sodass Deltas unterschiedlicher Größe und auch Nicht-Deltas vorhanden sein können.
Das Datenobjekt SQL Stats Daily verarbeitet all diese Komplexität für Sie.
Mit Entitys verknüpfen
SQL Stats Daily verknüpft sich auch mit Konfigurationsdaten für die Datenbankinstanz, von der sie erfasst wurde, und ruft eine Reihe wichtiger Gruppierungsdimensionen für Aggregationen ab.
Tägliche Zusammenfassung
Schließlich sind alle Deltas (bis zu 48) für einen bestimmten SQL_ID an einem bestimmten Tag SUMMED, um kumulative Werte für diesen SQL-Code für diese Datenbankinstanz an diesem Tag zu erhalten. Das heißt, das Datenobjekt verfügt über eine Zeile pro SQL_ID pro Datenbank und Tag.
Dadurch wird das Datenobjekt "SQL Stats Daily" erstellt.
In der Tabelle ist "METRIC" in der Spaltenkategorie eine Attributspalte Kennzahl.
Tabelle 18-4: Tägliche SQL-Statistiken
Feldname | Name | Spaltentyp | Spaltenkategorie | Beschreibung |
---|---|---|---|---|
DAY_OF_WEEK | Abnahmetag | VARCHAR2 | DIMENSION | Abholungstag im Wochenbereich 1-7 (Mo-So) |
DAY_OF_MONTH | Abnahmetag | VARCHAR2 | DIMENSION | Abnahmetag im Monatsbereich 1-31 |
ROLLUP_TIME_UTC | Rollup-Zeit (UTC) | TIMESTAMP | TIME_DIMENSION | Anfangszeitstempel der Rollup-Periode (UTC) |
INSTANCENAME | Name der Instanz | VARCHAR2 | DIMENSION | Name der Datenbankinstanz |
SQL_ID | SQL-ID | VARCHAR2 | DIMENSION | SQL-ID des übergeordneten Cursors im Library-Cache |
FMS | Übereinstimmende Signatur erzwingen | VARCHAR2 | DIMENSION | Signatur, die verwendet wird, wenn der Parameter CURSOR_SHARING auf FORCE gesetzt ist |
EMS | Genau übereinstimmende Signatur | VARCHAR2 | DIMENSION |
Signatur, die verwendet wird, wenn der Parameter CURSOR_SHARING auf "EXACT" gesetzt ist
|
PARSE_CALLS | Parseaufrufe | NUMBER | METRIK | Anzahl Parseaufrufe für alle Cursor mit diesem SQL-Text und -Plan |
DISK_READS | Lesezugriffe auf den Datenträger | NUMBER | METRIK | Anzahl der Datenträgerlesevorgänge für alle Cursor mit diesem SQL-Text und -Plan |
DIRECT_WRITES | Direkte Schreibvorgänge | NUMBER | METRIK | Anzahl der direkten Schreibvorgänge für alle Cursor mit diesem SQL-Text und -Plan |
DIRECT_READS | Direkte Lesevorgänge | NUMBER | METRIK | Anzahl der direkten Lesevorgänge für alle Cursor mit diesem SQL-Text und -Plan |
BUFFER_GETS | Pufferlesezugriffe | NUMBER | METRIK | Anzahl der Pufferlesezugriffe für alle Cursor mit diesem SQL-Text und -Plan |
ROWS_PROCESSED | Verarbeitete Zeilen | NUMBER | METRIK | Anzahl der Zeilen, die von der geparsten SQL-Anweisung zurückgegeben werden |
FETCH-VORGÄNGE | Fetch-Vorgänge | NUMBER | METRIK | Anzahl der mit der SQL-Anweisung verknüpften Abrufe |
AUSFÜHRUNGEN | Ausführungen | NUMBER | METRIK | Anzahl von Ausführungen mit diesem Objekt, seit es in den Library Cache gestellt wurde |
LADEN | Ladevorgänge | NUMBER | METRIK | Gibt an, wie oft das Objekt geladen oder neu geladen wurde |
VERSION_COUNT | Cursor | NUMBER | METRIK | Anzahl Cursor, die im Cache mit diesem SQL-Text und -Plan vorhanden sind |
INVALIDIERUNGEN | Invalidierung des untergeordneten Cursors | NUMBER | METRIK | Häufigkeit, mit der dieser untergeordnete Cursor invalidiert wurde |
PX_SERVERS_EXECUTIONS | Serveranzahl für Parallelverarbeitung | NUMBER | METRIK |
Anzahl der Ausführungen, die von Servern mit paralleler Ausführung ausgeführt werden (0, wenn die Anweisung nie parallel ausgeführt wurde)
|
CPU_TIME | CPU-Zeit | NUMBER | METRIK | CPU-Zeit, die von diesem Cursor für Parsing, Ausführung und Fetching (Mikrosekunden) belegt wird |
ELAPSED_TIME | Abgelaufene Zeit | NUMBER | METRIK | Abgelaufene Zeit, die von diesem Cursor für Parsing, Ausführung und Fetching belegt wird. Wenn der Cursor die parallele Ausführung verwendet, ist ELAPSED_TIME die kumulative Zeit für den Abfragekoordinator plus alle parallelen Abfrageunterprozesse (Mikrosekunden) |
AVG_HARD_PARSE_TIME | Durchschnittliche Hard Parse-Zeit | NUMBER | METRIK | Durchschnittliche Hard Parse-Zeit, die von diesem Cursor verwendet wird (Mikrosekunden) |
APPLICATION_WAIT_TIME | Anwendungswartezeit | NUMBER | METRIK | Anwendungswartezeit (Mikrosekunden) |
CONCURRENCY_WAIT_TIME | Wartezeit bei Nebenläufigkeit | NUMBER | METRIK | Wartezeit bei Nebenläufigkeit (Mikrosekunden) |
CLUSTER_WAIT_TIME | Clusterwartezeit | NUMBER | METRIK | Kumulierte Wartezeit für das Warten auf Oracle RAC-Clusterressourcen. Dieser Wert ist spezifisch für Oracle RAC (Mikrosekunden) |
USER_IO_WAIT_TIME | Benutzer-I/O-Wartezeit | NUMBER | METRIK | Wartezeit für Benutzer-I/O (Mikrosekunden) |
PLSQL_EXEC_TIME | PL/SQL-Ausführungszeit | NUMBER | METRIK | PL/SQL-Ausführungszeit (Mikrosekunde) |
JAVA_EXEC_TIME | Java-Ausführungszeit | NUMBER | METRIK | Java-Ausführungszeit (Mikrosekunde) |
SORTS | Untergeordneter Cursor sortiert | NUMBER | METRIK | Anzahl der Sortiervorgänge, die für den untergeordneten Cursor ausgeführt wurden |
IO_CELL_OFFLOAD_ELIGIBLE_BYTES | Für Cell Offload zulässige Byte | NUMBER | METRIK | Anzahl der I/O-Byte, die vom Exadata-Speichersystem gefiltert werden können |
IO_INTERCONNECT_BYTES | I/O Interconnect Byte | NUMBER | METRIK | Anzahl der zwischen Oracle Database und dem Speichersystem ausgetauschten I/O-Byte, die normalerweise für Cache Fusion oder parallele Abfragen verwendet werden |
PHYSICAL_READ_REQUESTS | Leseanforderungen | NUMBER | METRIK | Anzahl der physischen Lese-I/O-Anforderungen, die von der überwachten SQL abgesetzt wurden |
PHYSICAL_READ_BYTES | Lesebyte | NUMBER | METRIK | Anzahl der Byte, die von Datenträgern von der SQL überwacht werden |
PHYSICAL_WRITE_REQUESTS | Schreibanforderungen | NUMBER | METRIK | Anzahl der physischen Schreib-I/O-Anforderungen, die von der überwachten SQL ausgegeben wurden |
PHYSICAL_WRITE_BYTES | Schreibbyte | NUMBER | METRIK | Anzahl der Byte, die von der überwachten SQL auf Datenträger geschrieben wurden |
IO_CELL_UNCOMPRESSED_BYTES | Dekomprimierte Cell-Byte | NUMBER | METRIK | Anzahl der nicht komprimierten Byte, die in die Exadata-Zellen ausgelagert werden |
IO_CELL_OFFLOAD_RETURNED_BYTES | Von Cell Offload zurückgegebene Byte | NUMBER | METRIK | Anzahl der Byte, die von der Exadata-Zelle über den regulären I/O-Pfad zurückgegeben werden |
NAME | Datenbankressourcenname | VARCHAR2 | DIMENSION | Datenbankressourcenname |
VERSION | Datenbankversion | VARCHAR2 | DIMENSION | Datenbankversion |
CPUCOUNT | CPU-Anzahl | VARCHAR2 | DIMENSION | CPU-Anzahl |
ENTITY_TYPE | Externer Typ | VARCHAR2 | DIMENSION | Externer Ressourcentyp |
DISPLAY_NAME | Datenbankressource - Anzeigename | VARCHAR2 | DIMENSION | Name der Datenbankressource (Datenbankname) |
ENTITY_SOURCE | Quelltyp | VARCHAR2 | DIMENSION | Quelle der Datenbankressource. Beispiel: EM_MANAGED_EXTERNAL_DATABASE, MACS_MANAGED_EXTERNAL_DATABASE, PE_COMANAGED_DATABASE |
OPSI_ENTITY_TYPE | Datenbanktyp | VARCHAR2 | DIMENSION | Datenbanktyp. Beispiel: ADB-S, ATP-D, EXTERNAL-HOST, EXTERNAL-PDB, EXTERNAL-NONCDB |
OPSI_ID | Ressourcen-OCID | VARCHAR2 | DIMENSION | OCID der Datenbank-Insight-Ressource |
SOURCE_IDENTIFIER | Kennung der Telemetriequelle | VARCHAR2 | DIMENSION | Enterprise Manager-GUID oder Management Agent-OCID |
SOURCE_ENTITY_IDENTIFIER | Telemetriequellentity-ID | VARCHAR2 | DIMENSION | Enterprise Manager-GUID oder Management Agent-OCID |
ASSOCIATED_RESOURCE_ID | OCID der Cloud-Datenbankressource | VARCHAR2 | DIMENSION | OCID der Cloud-Datenbankressource |
DIENST | Dienst | VARCHAR2 | DIMENSION | Name des zuletzt erfassten Service für den Tag, der mit der SQL verknüpft ist |
MODUL | Modul | VARCHAR2 | DIMENSION | Zuletzt erfasster Modulname für den Tag, der ausgeführt wurde, als die SQL-Anweisung das erste Mal geparst wurde. Dies wird durch den Aufruf von DBMS_APPLICATION_INFO.SET_MODULE festgelegt |
Aktion | Maßnahme | VARCHAR2 | DIMENSION | Name der zuletzt erfassten Aktion für den Tag, der ausgeführt wurde, als die SQL-Anweisung zum ersten Mal geparst wurde. Dieser Vorgang wird durch Aufrufen von DBMS_APPLICATION_INFO.SET_ACTION festgelegt |
PLAN_HASH_VALUE | Planhashwert | VARCHAR2 | DIMENSION | Hashwert des zuletzt erfassten Plans für den Tag, der mit der SQL verknüpft ist |
PLAN_HASH_VALUE_LISTAGG | Planliste | VARCHAR2 | DIMENSION | Liste der eindeutigen Hash-Werte des erfassten Plans für den Tag, der mit der SQL verknüpft ist |
PLAN_HASH_VALUE_COUNT | Plananzahl | NUMBER | METRIK | Anzahl aller eindeutigen erfassten Plan-Hashwerte für den Tag, der mit der SQL verknüpft ist |
OPTIMIZER_COST | Optimizer-Kosten | NUMBER | METRIK | Maximale Kosten des Abfrageausführungsplans |
COMMAND_TYPE | SQL-Befehlsnummer | NUMBER | DIMENSION | SQL-Befehlsnummer |
COMMAND_NAME | Befehlsname | VARCHAR2 | DIMENSION | SQL-Befehlsname. Beispiel: SELECT, UPDATE, CREATE |
SQL_TEXT | SQL-Text | VARCHAR2 | DIMENSION | Die ersten 1000 Zeichen des SQL-Texts |