Surveillance des performances avec les mesures de base de données autonome

Vous pouvez surveiller l'état, la capacité et les performances de vos bases de données avec des mesures, des alarmes et des notifications. Vous pouvez utiliser la console Oracle Cloud Infrastructure ou les API Monitoring pour visualiser les mesures.

Visualisation des mesures pour une instance Autonomous Database

Présente les étapes permettant d'afficher les mesures Autonomous Database.

Pour visualiser les mesures, vous devez disposer de l'accès requis tel qu'indiqué dans une stratégie Oracle Cloud Infrastructure (que vous utilisez la console, l'API REST ou un autres outil). Pour plus d'informations sur les stratégies, reportez-vous à Introduction aux stratégies.

Effectuez les étapes suivantes le cas échéant :

  • Ouvrez la console d'Oracle Cloud Infrastructure en cliquant sur icône de navigation en regard du nom cloud.

  • Dans le menu de navigation de gauche d'Oracle Cloud Infrastructure, cliquez sur Oracle Database, puis sur Autonomous Database.
  • Sur la page Bases de données autonomes, sélectionnez une instance Autonomous Database dans les liens sous la colonne Nom d'affichage.

Pour afficher les mesures d'une instance de base de données autonome, procédez comme suit :

  1. Sur la page Détails d'Autonomous Database, sélectionnez l'onglet Surveillance.
  2. Il existe un graphique pour chaque mesure. Dans chaque graphique, vous pouvez sélectionner l'intervalle et les statistiques, ou utiliser les valeurs par défaut.
Remarque

Le tableau suivant présente les mesures par défaut affichées dans l'onglet Surveillance de la console Oracle Cloud Infrastructure.

Pour obtenir la liste de toutes les mesures et dimensions de base de données, reportez-vous à Mesures disponibles : oci_autonomous_database.

Nom de mesure Description

Utilisation de l'UC

Pourcentage d'utilisation de l'UC, agrégé pour tous les groupes de destinataires. Le pourcentage d'utilisation consigné tient compte du nombre d'UC que la base de données est autorisée à utiliser, à savoir le nombre d'ECPU.

Si votre base de données utilise des OCPU, le nombre d'UC autorisé est deux fois supérieur au nombre d'OCPU.

Utilisation du stockage

Pourcentage de la capacité de stockage provisionnée utilisé actuellement. Représente l'espace total alloué à l'ensemble des tablespaces.

Sessions

Nombre de sessions dans la base de données.

Nombre d'exécutions

Nombre d'appels utilisateur et récursifs ayant exécuté des instructions SQL au cours de l'intervalle sélectionné.

Instructions en cours d'exécution

Nombre d'instructions SQL en cours d'exécution, agrégé pour tous les groupes de destinataires au cours de l'intervalle sélectionné.

Instructions mises en file d'attente

Nombre d'instructions SQL mises en file d'attente, agrégé pour tous les groupes de destinataires au cours de l'intervalle sélectionné.

Disponibilité de la base de données

La base de données est disponible pour les connexions au cours de l'intervalle sélectionné (les données de cette mesure sont décalées de 5 minutes). Valeurs possibles pour cette mesure :

  • 1 = La base de données est disponible
  • 0 = Base de données non disponible

Vous pouvez définir une alarme qui est déclenchée si la base de données n'est pas disponible (valeur 0).

Remarque

La disponibilité est calculée en fonction du pourcentage de temps d'activité mensuel décrit dans le document Document pilier des services Oracle PaaS et IaaS Public Cloud sous Stratégies de livraison (reportez-vous au contrat de niveau de service relatif à la disponibilité d'Autonomous Database).

Connexions en échec

Affiche le nombre total d'échecs de connexion à la base de données pendant l'intervalle indiqué.

Une connexion est considérée comme ayant échoué lorsqu'une tentative de connexion atteint la base de données et consigne l'une des erreurs suivantes : ORA-12514, ORA-12519 ou ORA-12529.

Pour créer une alarme sur une mesure, dans un graphique ou une table de mesures, sélectionnez Actions et, dans le menu, sélectionnez Créer une alarme sur cette requête. Pour plus d'informations sur la définition et l'utilisation des alarmes, reportez-vous à Gestion des alarmes.

Pour plus d'informations sur les mesures, reportez-vous à Mesures disponibles : oci_autonomous_database.

Vous pouvez également utiliser l'API Monitoring pour visualiser les mesures. Pour plus d'informations, reportez-vous à API du service Monitoring.

Affichage des journaux et des traces d'audit

Présente les étapes permettant de visualiser les journaux et les traces d'audit Autonomous Database.

Remarque

Pour visualiser les journaux et les essais d'audit, vous devez disposer de l'accès requis tel qu'indiqué dans une stratégie Oracle Cloud Infrastructure (que vous utilisiez la console, l'API REST ou un autre outil). Pour plus d'informations sur les stratégies, reportez-vous à Introduction aux stratégies.

Afin de visualiser les traces d'audit et les journaux d'une instance Autonomous Database, procédez comme suit :

  1. Sur la page Détails, sélectionnez l'onglet Surveillance.
  2. Dans l'onglet Surveillance, cliquez sur le lien Afficher l'audit et les journaux.
    • Dans la zone Journalisation, cliquez sur Journaux pour visualiser les informations de journal.

    • Dans la zone de journalisation, cliquez sur Audit pour visualiser les informations d'audit.

Pour plus d'informations, reportez-vous à Audit Autonomous Database et à Journaux d'audit.

Visualisation des mesures pour des bases de données autonomes d'un compartiment

Présente les étapes permettant d'afficher les mesures des bases de données autonomes d'un compartiment.

Pour visualiser les mesures, vous devez disposer de l'accès requis tel qu'indiqué dans une stratégie Oracle Cloud Infrastructure (que vous utilisiez la console, l'API REST ou un autre outil). Pour plus d'informations sur les stratégies, reportez-vous à Introduction aux stratégies.

  • Ouvrez la console d'Oracle Cloud Infrastructure en cliquant sur icône de navigation en regard du nom cloud.

  • Dans la liste de navigation de gauche, cliquez sur Observation & gestion. Sous Surveillance, cliquez sur Mesures de service.

Pour utiliser le service de mesures afin de visualiser les mesures de base de données autonome, procédez comme suit :

  1. Sur la page Mesures de service, sous Compartiment, sélectionnez votre compartiment.
  2. Sur la page Mesures de service, sous Espace de noms de mesure, sélectionnez oci_autonomous_database.
  3. Si le compartiment contient plusieurs bases de données autonomes, vous pouvez sélectionner Agréger les flux de données de mesure afin d'afficher des mesures agrégées pour l'ensemble des bases de données autonomes.
  4. Si vous souhaitez limiter les mesures affichées, en regard de Dimensions, cliquez sur Ajouter (cliquez sur Modifier si vous avez déjà ajouté des dimensions).
    1. Dans le champ Nom de dimension, sélectionnez une dimension.
    2. Dans le champ Valeur de dimension, sélectionnez une valeur.
    3. Cliquez sur Terminé.

    Dans la boîte de dialogue Modifier les dimensions, cliquez sur + Dimension supplémentaire pour ajouter une dimension. Cliquez sur x pour enlever une dimension.

Pour créer une alarme sur une mesure spécifique, cliquez sur Options et sélectionnez Créer une alarme sur cette requête. Pour plus d'informations sur la définition et l'utilisation des alarmes, reportez-vous à Gestion des alarmes.

Mesures et dimensions de base de données autonome

Vous pouvez limiter les instances où des mesures sont visibles à l'aide des dimensions. Les dimensions disponibles sont les suivantes : type de charge globale, nom d'affichage d'instance, région et OCID d'instance.

Pour utiliser des dimensions, sélectionnez des valeurs sur la page Mesures de service de la console Oracle Cloud Infrastructure ou définissez des valeurs de dimension avec l'API. Reportez-vous à Visualisation des mesures pour des bases de données autonomes dans un compartiment pour visualiser des mesures et sélectionner des dimensions de mesure.

Utilisation de mesures personnalisées sur Autonomous Database

Explique comment créer et publier des mesures personnalisées sur Autonomous Database.

Autonomous Database fournit de nombreuses mesures relatives aux bases de données qui sont disponibles via le service OCI Monitoring. En outre, vous pouvez créer des mesures personnalisées pour collecter, publier et analyser vos propres mesures. Une mesure personnalisée collecte les données indiquées à partir de votre instance Autonomous Database et les publie dans le service OCI Monitoring à l'aide d'une API REST fournie par le kit SDK OCI.

Conditions préalables

  1. Obtenez un accès à Oracle Cloud Infrastructure via Oracle Cloud Free Tier ou un compte Cloud payant.

    Pour plus d'informations, reportez-vous à Obtention d'un compte Oracle Cloud.

  2. Créez une instance Autonomous Database ou avez accès à une instance Autonomous Database existante.

    Pour plus d'informations, reportez-vous à Provisionnement d'une instance Autonomous Database.

  3. Obtenez des informations d'identification ADMIN pour votre instance Autonomous Database.

  4. Utilisez Database Actions ou l'un des clients Oracle Database, tels que SQL Developer ou SQL*Plus, pour vous connecter à la base de données.

    Pour plus d'informations, reportez-vous à Connexion à Autonomous Database.

  5. Vous devez accéder au service OCI Monitoring et à OCI Identity and Access Management.

    Pour plus d'informations, reportez-vous à Publication de mesures personnalisées à l'aide de l'API.

Présentation des mesures personnalisées avec le service OCI Monitoring

La figure suivante présente les étapes de création et de publication de mesures personnalisées sur Autonomous Database. Cela montre que vous collectez des données de mesure avec un script exécuté sur votre instance Autonomous Database, que vous publiez ces données vers le service OCI Monitoring et que vous pouvez créer des alarmes et des notifications pour les valeurs de mesure.



  • Créez et déployez un script PL/SQL sur votre instance Autonomous Database. Ce script est exécuté régulièrement pour calculer, collecter et publier des mesures personnalisées vers le service OCI Monitoring.

  • L'instance Autonomous Database peut se trouver sur une adresse publique ou privée. La communication entre l'instance Autonomous Database et le service OCI Monitoring a lieu sur le réseau Oracle Cloud. Cela signifie que pour publier des mesures sur le service OCI Monitoring, vous n'avez pas besoin de créer de passerelle de service.

Création et publication de mesures personnalisées

Pour créer et publier des mesures personnalisées, procédez comme suit :

  1. Dans OCI Identity and Access Management, créez un groupe dynamique pour votre instance Autonomous Database et créez une stratégie pour autoriser le groupe dynamique à publier des mesures vers le service OCI Monitoring.

    Exemples :

    1. Dans la console Oracle Cloud Infrastructure, cliquez sur Identité et sécurité.
    2. Sous Identité, cliquez sur Domaines et sélectionnez un domaine d'identité (ou créez-en un).
    3. Sous Domaine d'identité, cliquez sur Groupes dynamiques.
    4. Cliquez sur Créer un groupe dynamique et entrez un nom, une description et une règle.

      Par exemple, créez un groupe dynamique nommé adb_dg pour votre instance Autonomous Database et créez une règle :

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

      Vous pouvez également sélectionner une seule instance Autonomous Database au lieu de toutes les instances du compartiment :

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


    5. Cliquez sur Créer.
    6. Créez une stratégie OCI Identity and Access Management (IAM) pour autoriser le groupe dynamique.

      Par exemple, créez une stratégie pour autoriser le groupe dynamique adb_dg à publier des mesures vers le service OCI Monitoring avec la stratégie adb_dg_policy :

      Allow dynamic-group adb_dg to use metrics in compartment OCID_of_compartment


    Une fois la stratégie définie, le groupe dynamique avec la définition adb_dg est autorisé à publier des mesures dans le compartiment.

    A ce stade, la routine PL/SQL exécutée sur Autonomous Database ne peut publier aucune mesure vers le service OCI Monitoring car aucun utilisateur Autonomous Database n'est autorisé à publier des mesures vers le service OCI Monitoring. Vous fournissez cette fonctionnalité lorsque vous activez le principal de ressource à l'étape suivante (étape 2c).

  2. Créez un utilisateur ou un schéma de base de données avec les privilèges requis dans votre instance Autonomous Database ou mettez à jour un utilisateur ou un schéma de base de données existant avec les privilèges requis.

    Exemples :

    1. Créez un utilisateur de base de données ou utilisez un utilisateur existant pour publier des mesures.

      Par exemple, créez un utilisateur ECOMMERCE_USER sur l'instance Autonomous Database :

      CREATE USER ECOMMERCE_USER IDENTIFIED BY "password";

      Maintenant, vous avez le nouvel utilisateur ECOMMERCE_USER. Les étapes suivantes sont les mêmes avec cet utilisateur ou avec l'utilisateur que vous spécifiez. Toutefois, si vous créez un utilisateur avec un autre nom, vous devez remplacer ECOMMERCE_USER par l'autre nom utilisateur.

    2. Accordez à l'utilisateur les privilèges requis liés à Oracle Database.
      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. Activez les informations d'identification Oracle Database pour le principal de ressource Oracle Cloud et accordez l'accès à l'utilisateur.

      Cette étape connecte le groupe dynamique adb_dg créé à l'étape 1 à l'utilisateur de base de données ECOMMERCE_USER, ce qui lui donne l'autorisation de publier des mesures vers le service OCI Monitoring.

      Exemples :

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

      Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder aux ressources Oracle Cloud Infrastructure.

      Au lieu de l'authentification par principal de ressource, vous pouvez utiliser les informations d'identification natives OCI pour l'authentification. Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    4. (Facultatif) Vérifiez les opérations que vous avez effectuées à l'étape précédente.

      Exemples :

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

      Pour vérifier si un utilisateur autre qu'ADMIN a accès au principal de ressource OCI, par exemple pour vérifier si ECOMMERCE_USER a accès aux informations d'identification de base de données, utilisez la vue DBA_TAB_PRIVS :

      SELECT * FROM DBA_TAB_PRIVS WHERE DBA_TAB_PRIVS.GRANTEE='ECOMMERCE_USER';
  3. Créez un script PL/SQL qui publie les données de mesure et programmez l'exécution du script sur votre instance Autonomous Database.
    1. Par exemple, créez un script PL/SQL avec une mesure qui compte les lignes des exemples de données Star Schema Benchmark et les publie vers le service OCI Monitoring.
      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;
      /

      Pour plus d'informations, reportez-vous à PostMetricData.

    2. Programmez un travail pour appeler et publier le point de données de mesure personnalisé une fois par minute. En production, le programme est configuré pour être exécuté en fonction de vos besoins.
      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. Explorez les mesures personnalisées publiées dans l'explorateur de mesures.
    1. Dans le menu de navigation de la console Oracle Cloud Infrastructure, cliquez sur Observation et gestion.
    2. Sous Observation et gestion, cliquez sur Explorateur de mesures.
    3. Dans l'explorateur de mesures, sélectionnez l'espace de noms custom_metrics_from_adb, resourceGroup ecommerece_adb et le nom de mesure lineorder_metric (nom de la mesure créée dans le script PL/SQL).

      Toutes les métadonnées et dimensions que vous définissez pour les mesures personnalisées sont disponibles. Vous pouvez créer des requêtes MQL (Metrics Query Language) pour analyser ces mesures en fonction de vos besoins et de votre cas d'emploi. Vous pouvez également configurer des alarmes Oracle Cloud sur le flux de mesure pour alerter votre équipe opérationnelle. Cela automatise la boucle d'observabilité pour les mesures Autonomous Database de votre choix. Notez que dans l'explorateur de mesures, l'écran de mesure affiche par défaut la vue graphique et que vous avez la possibilité d'activer la vue de liste pour mettre en évidence les points de données.

Après avoir créé des mesures personnalisées, vous pouvez les utiliser comme n'importe quelle mesure prédéfinie dans le service OCI Monitoring. Cela signifie que vous pouvez analyser des mesures personnalisées à l'aide du langage MQL (Metrics Query Language) et configurer des alarmes et des notifications pour vous avertir chaque fois qu'un événement vous intéresse se produit.

Pour plus d'informations, reportez-vous à :