Performance mit Autonomous Database-Metriken überwachen

Sie können Zustand, Kapazität und Performance Ihrer Datenbanken mithilfe von Metriken, Alarmen und Benachrichtigungen überwachen. Sie können Metriken über die Oracle Cloud Infrastructure-Konsole oder die Monitoring-APIs anzeigen.

Metriken für eine Autonomous Database-Instanz anzeigen

Zeigt die Schritte zum Anzeigen der Autonomous Database-Metriken an.

Um Metriken anzuzeigen, müssen Sie den erforderlichen Zugriff, wie in einer Oracle Cloud Infrastructure-Policy angegeben, haben (unabhängig davon, dass Sie die Konsole, die REST-API oder ein anderes Tool verwendet). Informationen zu Policys finden Sie unter Erste Schritte mit Policys.

Führen Sie gegebenenfalls die folgenden erforderlichen Schritte aus:

  • Öffnen Sie die Oracle Cloud Infrastructure-Konsole, indem Sie neben "Cloud" auf Navigationssymbol klicken.

  • Klicken Sie im linken Navigationsmenü von Oracle Cloud Infrastructure auf Oracle Database und dann auf Autonomous Database.
  • Wählen Sie auf der Seite "Autonome Datenbanken" unter den Links unter der Spalte Anzeigename eine Autonomous Database aus.

So können Sie Metriken für eine Autonomous Database-Instanz anzeigen:

  1. Wählen Sie auf der Seite "Autonomous Database-Details" die Registerkarte Monitoring aus.
  2. Für jede Metrik gibt es ein Diagramm. In jedem Diagramm können Sie Intervall und Statistik auswählen oder die Standardwerte verwenden.
Hinweis

In der folgenden Tabelle werden die Standardmetriken angezeigt, die auf der Registerkarte Monitoring der Oracle Cloud Infrastructure-Konsole angezeigt werden.

Eine Liste aller Datenbankmetriken und -dimensionen finden Sie unter Verfügbare Metriken: oci_autonomous_database.

Metrikname Beschreibung

CPU-Auslastung

Die CPU-Auslastung in Prozent, aggregiert über alle Consumer-Gruppen hinweg. Der Auslastungsprozentsatz wird in Bezug auf die Anzahl der CPUs gemeldet, die von der Datenbank verwendet werden dürfen, also die Anzahl der ECPUs.

Wenn Ihre Datenbank OCPUs verwendet, ist die Anzahl der zulässigen CPUs doppelt so hoch wie die Anzahl der OCPUs.

Speicherplatzauslastung

Der Prozentsatz der bereitgestellten Speicherkapazität, die derzeit genutzt wird. Stellt den gesamten zugewiesenen Speicherplatz für alle Tablespaces dar.

Sitzungen

Die Anzahl der Sessions in der Datenbank.

Ausführungsanzahl

Die Anzahl der Benutzeraufrufe und rekursiven Aufrufe, die während des ausgewählten Intervalls SQL-Anweisungen ausgeführt hatten.

Aktive Anweisungen

Die Anzahl der aktiven SQL-Anweisungen während des ausgewählten Intervalls, über alle Consumer-Gruppen hinweg aggregiert.

In Queue gestellte Anweisungen

Die Anzahl der in Queue gestellten SQL-Anweisungen während des ausgewählten Intervalls, über alle Consumer-Gruppen hinweg aggregiert.

Datenbankverfügbarkeit

Die Datenbank ist während des ausgewählten Zeitintervalls für Verbindungen verfügbar (Daten für diese Metrik sind um 5 Minuten verzögert). Mögliche Werte für diese Metrik:

  • 1 = Datenbank ist verfügbar
  • 0 = Datenbank ist nicht verfügbar

Sie können einen Alarm festlegen, der ausgelöst wird, wenn die Datenbank nicht verfügbar ist (Wert 0).

Hinweis

Die Verfügbarkeit wird auf der Grundlage des "monatlichen Betriebszeitprozentsatzes" berechnet, der im Dokument Oracle PaaS and IaaS Public Cloud Services Pillar Document unter Delivery Policies beschrieben ist (siehe Autonomous Database Availability Service Level Agreement).

Nicht erfolgreiche Verbindungen

Zeigt die Gesamtanzahl der nicht erfolgreichen Verbindungen zur Datenbank während des ausgewählten Intervalls an.

Eine Verbindung wird als nicht erfolgreich gezählt, wenn ein Verbindungsversuch die Datenbank erreicht und einen der folgenden Fehler protokolliert: ORA-12514, ORA-12519 oder ORA-12529.

Um einen Alarm für eine Metrik zu erstellen, wählen Sie in einem Metrikdiagramm oder einer Metriktabelle die Option Aktionen aus, und wählen Sie im Menü die Option Alarm für diese Anfrage erstellen aus. Informationen zum Einrichten und Verwenden von Alarmen finden Sie unter Alarme verwalten.

Weitere Informationen zu Metriken finden Sie unter Verfügbare Metriken: oci_autonomous_database.

Sie können Metriken auch mit der Monitoring-API anzeigen. Weitere Informationen finden Sie unter Monitoring-API.

Logs und Audittrails anzeigen

Zeigt die Schritte zum Anzeigen der Autonomous Database-Logs und Audittrails an.

Hinweis

Um Logs und Auditversuche anzuzeigen, müssen Sie den erforderlichen Zugriff, wie in einer Oracle Cloud Infrastructure-Policy angegeben, haben (unabhängig davon, dass Sie die Konsole, die REST-API oder ein anderes Tool verwendet). Informationen zu Policys finden Sie unter Erste Schritte mit Policys.

So zeigen Sie Audittrails und Logs für eine Autonomous Database-Instanz an:

  1. Wählen Sie auf der Seite "Details" die Registerkarte Monitoring aus.
  2. Klicken Sie auf der Registerkarte "Monitoring" auf den Link Audit und Logs anzeigen.
    • Klicken Sie im Bereich "Logging" auf Logs, um Loginformationen anzuzeigen.

    • Klicken Sie im Loggingbereich auf Audit, um Auditinformationen anzuzeigen.

Weitere Informationen finden Sie unter Autonomous Database auditieren und Auditlogs.

Metriken für autonome Datenbanken in einem Compartment anzeigen

Zeigt die Schritte zum Anzeigen von Metriken für autonome Datenbanken in einem Compartment an.

Um Metriken anzuzeigen, benötigen Sie den erforderlichen Zugriff, der in einer Oracle Cloud Infrastructure-Policy angegeben ist (Verwendung der Konsole, der REST-API oder eines anderen Tools). Informationen zu Policys finden Sie unter Erste Schritte mit Policys.

  • Öffnen Sie die Oracle Cloud Infrastructure-Konsole, indem Sie neben "Cloud" auf Navigationssymbol klicken.

  • Klicken Sie in der linken Navigationsliste auf Beobachtbarkeit and Management. Klicken Sie unter Monitoring auf Servicemetriken.

So zeigen Sie mit dem Metrikservice Autonomous Database-Metriken an:

  1. Wählen Sie auf der Seite Servicemetriken unter Compartment das Compartment aus.
  2. Wählen Sie in der Seite Servicemetriken unter Metrik-Namespace die Option oci_autonomous_database aus.
  3. Wenn sich mehrere autonome Datenbanken im Compartment befinden, können Sie Metriken anzeigen, die über die autonomen Datenbanken hinweg aggregiert werden. Wählen Sie dazu Metrikstreams aggregieren.
  4. Wenn Sie die angezeigten Metriken einschränken möchten, klicken Sie neben Dimensionen auf Hinzufügen (klicken Sie auf Bearbeiten, wenn Sie bereits Dimensionen hinzugefügt haben).
    1. Wählen Sie im Feld Dimensionsname eine Dimension aus.
    2. Wählen Sie im Feld Dimensionswert einen Wert aus.
    3. Klicken Sie auf Fertig.

    Klicken Sie im Dialogfeld "Dimensionen bearbeiten" auf +Additional Dimension, um eine weitere Dimension hinzuzufügen. Klicken Sie auf x, um eine Dimension zu entfernen.

Um einen Alarm für eine bestimmte Metrik zu erstellen, klicken Sie auf Optionen, und wählen Sie Alarm für diese Abfrage erstellen. Informationen zum Einrichten und Verwenden von Alarmen finden Sie unter Alarme verwalten.

Metriken und Dimensionen für autonome Datenbanken

Sie können die Instanzen begrenzen, in denen Metriken mit Dimensionen angezeigt werden. Die verfügbaren Dimensionen umfassen: Workload-Typ, Instanzanzeigename, Region und Instanz-OCID.

Verwenden Sie Dimensionen, indem Sie Werte auf der Seite "Metriken" der Oracle Cloud Infrastructure-Konsole auswählen oder Dimensionswerte mit der API festlegen. Unter Metriken für autonome Datenbanken in einem Compartment anzeigen können Sie Metriken anzeigen und Metrikdimensionen auswählen.

Benutzerdefinierte Metriken in Autonomous Database verwenden

Beschreibt, wie benutzerdefinierte Metriken in Autonomous Database erstellt und veröffentlicht werden.

Autonomous Database bietet viele datenbankbezogene Metriken, die über den OCI Monitoring-Service verfügbar sind. Darüber hinaus können Sie benutzerdefinierte Metriken erstellen, um Ihre eigenen Metriken zu erfassen, zu veröffentlichen und zu analysieren. Eine benutzerdefinierte Metrik erfasst angegebene Daten aus Ihrer Autonomous Database-Instanz und veröffentlicht die Daten mit einer vom OCI-SDK bereitgestellten REST-API im OCI Monitoring-Service.

Voraussetzungen

  1. Oracle Cloud Infrastructure-Zugriff über Oracle Cloud Free Tier oder einen kostenpflichtigen Cloud-Account erhalten.

    Weitere Informationen finden Sie unter Oracle Cloud-Account abrufen.

  2. Erstellen Sie eine Autonomous Database-Instanz, oder haben Sie Zugriff auf eine vorhandene Autonomous Database-Instanz.

    Weitere Informationen finden Sie unter Autonomous Database-Instanz bereitstellen.

  3. Rufen Sie ADMIN-Zugangsdaten für Ihre Autonomous Database-Instanz ab.

  4. Verwenden Sie Database Actions oder einen der Oracle Database-Clients, wie SQL Developer oder SQL*Plus, um eine Verbindung zur Datenbank herzustellen.

    Weitere Informationen finden Sie unter Verbindung zu Autonomous Database herstellen.

  5. Sie benötigen Zugriff auf den OCI Monitoring-Service und OCI Identity and Access Management.

    Weitere Informationen finden Sie unter Benutzerdefinierte Metriken mit der API veröffentlichen.

Überblick über benutzerdefinierte Metriken mit OCI Monitoring Service

In der folgenden Abbildung werden die Schritte zum Erstellen und Veröffentlichen benutzerdefinierter Metriken in Autonomous Database dargestellt. Dadurch wird angezeigt, dass Sie Metrikdaten mit einem Skript erfassen, das auf Ihrer Autonomous Database-Instanz ausgeführt wird, diese Daten im OCI Monitoring-Service veröffentlichen und wie Sie Alarme und Benachrichtigungen für Metrikwerte erstellen können.



  • PL/SQL-Skript in der Autonomous Database-Instanz erstellen und bereitstellen Dieses Skript wird regelmäßig ausgeführt, um benutzerdefinierte Metriken zu berechnen, zu erfassen und im OCI Monitoring-Service zu veröffentlichen.

  • Die Autonomous Database-Instanz kann sich auf einem öffentlichen oder einem privaten Endpunkt befinden. Die Kommunikation zwischen der Autonomous Database-Instanz und dem OCI Monitoring-Service findet im Oracle Cloud-Netzwerk statt. Das bedeutet, dass Sie kein Servicegateway erstellen müssen, um Metriken im OCI Monitoring-Service zu veröffentlichen.

Benutzerdefinierte Metriken erstellen und veröffentlichen

So erstellen und veröffentlichen Sie benutzerdefinierte Metriken:

  1. Erstellen Sie in OCI Identity and Access Management eine dynamische Gruppe für Ihre Autonomous Database-Instanz, und erstellen Sie eine Policy, um die dynamische Gruppe zu autorisieren, Metriken an den OCI Monitoring-Service zu posten.

    Beispiel:

    1. Klicken Sie in der Oracle Cloud Infrastructure-Konsole auf Identität & Sicherheit.
    2. Klicken Sie unter Identität auf Domains, und wählen Sie eine Identitätsdomain aus (oder erstellen Sie eine neue Identitätsdomain).
    3. Klicken Sie unter Identitätsdomain auf Dynamische Gruppen.
    4. Klicken Sie auf Dynamische Gruppe erstellen, und geben Sie einen Namen, eine Beschreibung und eine Regel ein.

      Beispiel: Erstellen Sie eine dynamische Gruppe mit dem Namen adb_dg für die Autonomous Database-Instanz, und erstellen Sie eine Regel:

      ALL {resource.type = 'autonomousdatabase', resource.compartment.id = 'OCID_of_compartment'}

      Alternativ können Sie eine einzelne Autonomous Database-Instanz anstelle aller Instanzen im Compartment auswählen:

      ALL {resource.type = 'autonomousdatabase', resource.id = 'OCID_of_autonomousdatabase_instance'}


    5. Klicken Sie auf Erstellen.
    6. Erstellen Sie eine OCI Identity and Access Management-(IAM-)Policy, um die dynamische Gruppe zu autorisieren.

      Beispiel: Erstellen Sie eine Policy, um die dynamische Gruppe adb_dg zu autorisieren, Metriken mit der Policy adb_dg_policy an den OCI Monitoring-Service zu posten:

      Allow dynamic-group adb_dg to use metrics in compartment OCID_of_compartment


    Nachdem Sie die Policy definiert haben, ist die dynamische Gruppe mit der Definition adb_dg autorisiert, Metriken im Compartment zu posten.

    Zu diesem Zeitpunkt kann die auf Autonomous Database ausgeführte PL/SQL-Routine keine Metriken an den OCI Monitoring-Service posten, weil keine Autonomous Database-Benutzer zum Veröffentlichen von Metriken im OCI Monitoring-Service autorisiert sind. Sie stellen diese Funktion bereit, wenn Sie den Resource Principal im folgenden Schritt aktivieren (Schritt 2c).

  2. Erstellen Sie einen neuen Datenbankbenutzer oder ein neues Datenbankschema mit den erforderlichen Berechtigungen in Ihrer Autonomous Database-Instanz, oder aktualisieren Sie einen vorhandenen Datenbankbenutzer oder ein vorhandenes Datenbankschema mit den erforderlichen Berechtigungen.

    Beispiel:

    1. Erstellen Sie einen Datenbankbenutzer, oder verwenden Sie einen vorhandenen Benutzer, um Metriken zu veröffentlichen.

      Beispiel: Erstellen Sie einen neuen Benutzer ECOMMERCE_USER in der Autonomous Database-Instanz:

      CREATE USER ECOMMERCE_USER IDENTIFIED BY "password";

      Jetzt haben Sie den neuen Benutzer ECOMMERCE_USER. Die folgenden Schritte sind mit diesem Benutzer oder mit dem angegebenen Benutzer identisch. Wenn Sie jedoch einen Benutzer mit einem anderen Namen erstellen, müssen Sie ECOMMERCE_USER durch den alternativen Benutzernamen ersetzen.

    2. Erteilen Sie dem Benutzer die erforderlichen Oracle Database-Berechtigungen.
      GRANT CREATE TABLE, ALTER ANY INDEX, CREATE PROCEDURE, 
             CREATE JOB, SELECT ANY TABLE, EXECUTE ANY PROCEDURE, UPDATE ANY TABLE, 
             CREATE SESSION, UNLIMITED TABLESPACE, CONNECT, RESOURCE 
             TO ECOMMERCE_USER;
      GRANT  SELECT ON "SYS"."V_$PDBS" TO ECOMMERCE_USER;
      GRANT  EXECUTE ON "C##CLOUD$SERVICE"."DBMS_CLOUD" to ECOMMERCE_USER;
      GRANT  SELECT ON SYS.DBA_JOBS_RUNNING TO ECOMMERCE_USER;
    3. Aktivieren Sie Oracle Database-Zugangsdaten für den Oracle Cloud-Resource Principal, und erteilen Sie dem Benutzer Zugriff.

      In diesem Schritt wird die dynamische Gruppe adb_dg, die Sie in Schritt 1 erstellt haben, mit dem Datenbankbenutzer ECOMMERCE_USER verbunden. Dadurch erhält der Benutzer die Berechtigung, Metriken an den OCI Monitoring-Service zu posten.

      Beispiel:

      EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'ECOMMERCE_USER');

      Weitere Informationen finden Sie unter Resource Principal für den Zugriff auf Oracle Cloud Infrastructure-Ressourcen nutzen.

      Alternativ zur Resource-Principal-Authentifizierung können Sie OCI-native Zugangsdaten zur Authentifizierung verwenden. Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.

    4. (Optional) Prüfen Sie die Vorgänge, die Sie im vorherigen Schritt abgeschlossen haben.

      Beispiel:

      SELECT OWNER, CREDENTIAL_NAME FROM DBA_CREDENTIALS WHERE CREDENTIAL_NAME = 'OCI$RESOURCE_PRINCIPAL'  AND OWNER =  'ADMIN';

      Um zu prüfen, ob ein anderer Benutzer als ADMIN Zugriff auf den OCI-Ressourcen-Principal hat. Beispiel: Um zu prüfen, ob der ECOMMERCE_USER Zugriff auf die Datenbankzugangsdaten hat, verwenden Sie die Ansicht DBA_TAB_PRIVS:

      SELECT * FROM DBA_TAB_PRIVS WHERE DBA_TAB_PRIVS.GRANTEE='ECOMMERCE_USER';
  3. Erstellen Sie ein PL/SQL-Skript, das Metrikdaten veröffentlicht und die Ausführung des Skripts auf der Autonomous Database-Instanz plant.
    1. Beispiel: Erstellen Sie ein PL/SQL-Skript mit einer Metrik, die die Zeilen der Star Schema Benchmark-Beispieldaten zählt und im OCI Monitoring-Service veröffentlicht.
      CREATE OR REPLACE PROCEDURE publish_lineorder_metric (p_sql_statement IN VARCHAR2)
      IS
      l_result NUMBER;
      l_compartment_ocid VARCHAR2(255);
      l_db_name VARCHAR2(255);
      l_region VARCHAR2(255);
      l_json_payload CLOB;
      l_cloud_identity CLOB;
      BEGIN
      
      -- 1. Execute the SQL statement and get the result
      EXECUTE IMMEDIATE p_sql_statement INTO l_result;
       
       -- 2. Get compartment OCID, DB name, and region from cloud identity
       SELECT cloud_identity INTO l_cloud_identity FROM v$pdbs;
        
       l_compartment_ocid := JSON_VALUE(l_cloud_identity, '$.COMPARTMENT_OCID');
       l_db_name := JSON_VALUE(l_cloud_identity, '$.DATABASE_NAME');
       l_region := JSON_VALUE(l_cloud_identity, '$.REGION');
       
      DBMS_OUTPUT.PUT_LINE(l_cloud_identity);
       
       -- 3. Construct the JSON payload for the metric
      
       l_json_payload :=
       '{' ||
       ' "metricData": [' ||
       ' {' ||
       ' "namespace": "custom_metrics",' ||
       ' "compartmentId": "' || l_compartment_ocid || '",' ||
       ' "name": "lineorder_metric",' ||
       ' "dimensions": {' ||
       ' "dbName": "' || l_db_name || '"' ||
       ' },' ||
       ' "datapoints": [' ||
       ' {' ||
       ' "timestamp": "' || TO_CHAR(SYSTIMESTAMP AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') || '",' ||
       ' "value": ' || l_result ||
       ' }' ||
       ' ]' ||
       ' }' ||
       ' ]' ||
       '}';
       
       -- 4. Publish the metric using DBMS_CLOUD.SEND_REQUEST
      
       DECLARE
       l_response DBMS_CLOUD_TYPES.resp;
       BEGIN
       l_response := DBMS_CLOUD.SEND_REQUEST(
       credential_name => 'OCI$RESOURCE_PRINCIPAL',
       uri => 'https://telemetry-ingestion.' || l_region || '.oraclecloud.com/20180401/metrics',
       method => 'POST',
       body => UTL_RAW.CAST_TO_RAW(l_json_payload)
       );
       
       –- 5. Check response status
      
       IF DBMS_CLOUD.GET_RESPONSE_STATUS_CODE(l_response) = 200 THEN
       DBMS_OUTPUT.PUT_LINE('Metric published successfully!');
       ELSE
       DBMS_OUTPUT.PUT_LINE('Error publishing metric: ' || DBMS_CLOUD.GET_RESPONSE_STATUS_CODE(l_response));
       DBMS_OUTPUT.PUT_LINE(DBMS_CLOUD.GET_RESPONSE_TEXT(l_response));
       END IF;
       
       EXCEPTION
       WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE('Error during SEND_REQUEST: ' || SQLERRM);
       END;
      EXCEPTION
       WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
      END;
      /

      Weitere Informationen dazu finden Sie in PostMetricData.

    2. Planen Sie einen Job, um den benutzerdefinierten Metrikdatenpunkt einmal pro Minute aufzurufen und zu veröffentlichen. In der Produktion wird der Zeitplan entsprechend Ihren Anforderungen konfiguriert.
      BEGIN
         DBMS_SCHEDULER.CREATE_JOB (
            job_name => 'publish_lineorder_count_job',
            job_type => 'STORED_PROCEDURE',
            job_action => 'ECOMMERCE_USER.publish_lineorder_metric',
            number_of_arguments => 1,
            start_date => SYSTIMESTAMP,
            repeat_interval => 'FREQ=MINUTELY;INTERVAL=1',
            enabled => FALSE,
            AUTO_DROP => FALSE,
            comments => 'Publishes the count of rows in SSB.LINEORDER every 1 minute'
      );
       
        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (
             job_name => 'publish_lineorder_count_job',
             argument_position => 1,
             argument_value => 'SELECT COUNT(*) FROM SSB.LINEORDER'
       );
       
         DBMS_SCHEDULER.ENABLE('ECOMMERCE_USER.PUBLISH_LINEORDER_COUNT_JOB');
      END;
  4. Erkunden Sie die veröffentlichten benutzerdefinierten Metriken im Metrik-Explorer.
    1. Klicken Sie im Navigationsmenü der Oracle Cloud Infrastructure-Konsole auf Observability and Management.
    2. Klicken Sie unter Observability and Management auf Metrik-Explorer.
    3. Wählen Sie im Metrik-Explorer den Namespace als custom_metrics_from_adb, resourceGroup als ecommerece_adb und den Metriknamen als lineorder_metric aus (den Namen der Metrik, die Sie im PL/SQL-Skript erstellt haben).

      Alle Metadaten und Dimensionen, die Sie für benutzerdefinierte Metriken festlegen, sind verfügbar. Sie können MQL-(Metrics Query Language-)Abfragen erstellen, um diese Metriken entsprechend Ihren Anforderungen und Ihrem Anwendungsfall zu analysieren. Sie können auch Oracle Cloud-Alarme im Metrikstream einrichten, um Ihr Betriebsteam zu benachrichtigen. Dadurch wird die Beobachtbarkeitsschleife für die Autonomous Database-Metriken Ihrer Wahl automatisiert. Beachten Sie, dass im Metrik-Explorer standardmäßig die Diagrammansicht angezeigt wird, und Sie können die Listenansicht aktivieren, um Datenpunkte hervorzuheben.

Nachdem Sie benutzerdefinierte Metriken erstellt haben, können Sie die Metriken wie alle vordefinierten Metriken im OCI Monitoring-Service verwenden. Das bedeutet, dass Sie benutzerdefinierte Metriken mit der Metrikabfragesprache (MQL) analysieren und Alarme und Benachrichtigungen einrichten können, um Sie zu benachrichtigen, wenn ein interessantes Ereignis eintritt.

In den folgenden Themen finden Sie weitere Informationen: