Supervisión del rendimiento mediante las métricas de Autonomous Database

Puede supervisar el estado, la capacidad y el rendimiento de las bases de datos mediante métricas, alarmas y notificaciones. Puede utilizar la consola de Oracle Cloud Infrastructure o las API de Monitoring para ver métricas.

Visualización de métricas para una instancia de Autonomous Database

Muestra los pasos para ver las métricas de Autonomous Database.

Para ver las métricas, debe disponer del acceso necesario según lo especificado en una política de Oracle Cloud Infrastructure (tanto si utiliza la consola, la API de REST u otro instrumento). Consulte Introducción a las políticas para obtener información sobre las políticas.

Siga estos pasos según sea necesario:

  • Haga clic en icono de navegación junto a Oracle Cloud para abrir la consola de Oracle Cloud Infrastructure.

  • En el menú de navegación izquierda de Oracle Cloud Infrastructure, haga clic en Oracle Database y, a continuación, en función de la carga de trabajo, haga clic en una de las siguientes opciones: Autonomous Data Warehouse, Autonomous JSON Database, o Autonomous Transaction Processing.
  • En la página Bases de datos autónomas, seleccione una instancia de Autonomous Database en los enlaces de la columna Nombre mostrado.

Para ver las métricas de una instancia de Autonomous Database:

  1. En la página Detalles, en Recursos, haga clic en Métricas.
  2. Podrá ver un gráfico para cada métrica. En cada gráfico, puede seleccionar un valor de Intervalo y de Estadística o utilizar los valores por defecto.
Nota

En la siguiente tabla se muestran las métricas por defecto que se muestran en la consola de Oracle Cloud Infrastructure.

Consulte Métricas disponibles: oci_autonomous_database para obtener una lista de todas las métricas y dimensiones de la base de datos.

Nombre de métrica Descripción

Utilización de CPU

Uso de CPU expresado como porcentaje, agregado en todos los grupos de consumidores. El porcentaje de utilización se registra con respecto al número de CPU que puede utilizar la base de datos, que es el número de ECPU.

Si la base de datos utiliza OCPU, el número de CPU permitido es el doble del número de OCPU.

Uso de almacenamiento

Porcentaje de la capacidad de almacenamiento aprovisionada actualmente en uso. Representa el espacio total asignado para todos los tablespaces.

Sesiones

Número de sesiones de la base de datos.

Recuento de ejecuciones

Número de llamadas de usuario y recursivas que han ejecutado sentencias SQL durante el intervalo seleccionado.

Sentencias en ejecución

Número de sentencias SQL en ejecución agregadas entre los distintos grupos de consumidores durante el intervalo seleccionado.

Sentencias en cola

Número de sentencias SQL en cola agregadas entre los distintos grupos de consumidores durante el intervalo seleccionado.

Disponibilidad de base de datos

La base de datos está disponible para las conexiones durante el intervalo de tiempo seleccionado (los datos de esta métrica se retrasan 5 minutos). Posibles valores para esta métrica:

  • 1 = Base de Datos Disponible
  • 0 = Base de datos no disponible

Puede definir una alarma que se dispare si la base de datos no está disponible (valor 0).

Nota

La disponibilidad se calcula en función del "porcentaje de tiempo de actividad mensual" descrito en el documento Oracle PaaS y IaaS Public Cloud Services Pillar Document en Políticas de entrega (consulte el acuerdo de nivel de servicio de disponibilidad de Autonomous Database).

Conexiones con fallos

Muestra el número total de conexiones con fallos a la base de datos durante el intervalo seleccionado.

Una conexión se cuenta como fallida cuando un intento de conexión llega a la base de datos y registra cualquiera de los siguientes errores: ORA-12514, ORA-12519 o ORA-12529.

Para crear una alarma en una métrica, en un gráfico o tabla de métricas, haga clic en Opciones y seleccione Crear una alarma en esta consulta. Consulte Gestión de alarmas para obtener información sobre la definición y el uso de las alarmas.

Para obtener más información sobre las métricas, consulte Métricas disponibles: oci_autonomous_database.

También puede utilizar la API de Monitoring para ver las métricas. Consulte API de Monitoring para obtener más información.

Visualización de logs y pistas de auditoría

Muestra los pasos para ver los logs y las pistas de auditoría de Autonomous Database.

Nota

Para ver los logs y las pruebas de auditoría, debe contar con el acceso necesario especificado en una política de Oracle Cloud Infrastructure (tanto si utiliza la consola, como la API de REST u otra herramienta). Consulte Introducción a las políticas para obtener información sobre las políticas.

Para ver las pistas de auditoría y los logs de una instancia de Autonomous Database:

  1. En la página Detalles, en Recursos, haga clic en Métricas.
  2. En el área Métricas, haga clic en Ver auditoría y logs.
  3. En el área Registro, haga clic en Logs para ver la información del log.
  4. En el área de registro, haga clic en Auditoría para ver la información de auditoría.

Consulte Auditoría de Autonomous Database y Logs de auditoría para obtener más información.

Visualización de métricas para bases de datos autónomas de un compartimento

Muestra los pasos para ver las métricas de las instancias de Autonomous Database de un compartimento.

Para ver las métricas, debe contar con el acceso necesario según lo especificado en una política de Oracle Cloud Infrastructure (tanto si utiliza la consola, la API de REST u otra herramienta). Consulte Introducción a las políticas para obtener información sobre las políticas.

  • Haga clic en icono de navegación junto a Oracle Cloud para abrir la consola de Oracle Cloud Infrastructure.

  • En la lista de navegación izquierda, haga clic en Observación y gestión. En Supervisión, haga clic en Métricas de servicio.

Para utilizar el servicio de métricas para ver métricas de Autonomous Database:

  1. En la página Métricas de servicio, en Compartimento, seleccione el compartimento.
  2. En la página Métricas de servicio, en Espacio de nombre de métrica, seleccione oci_autonomous_database.
  3. Si hay varias bases de datos autónomas en el compartimento, puede mostrar las métricas agregadas de las bases de datos autónomas seleccionando Agregar flujos de métricas.
  4. Si desea limitar las métricas que ve, junto a Dimensiones, haga clic en Agregar (haga clic en Editar si ya ha agregado dimensiones).
    1. En el campo Nombre de dimensión, seleccione una dimensión.
    2. En el campo Valor de dimensión, seleccione un valor.
    3. Haga clic en Listo.

    En el cuadro de diálogo Editar dimensiones, haga clic en +Dimensión adicional para agregar una dimensión adicional. Haga clic en la para eliminar una dimensión.

Para crear una alarma en una métrica específica, haga clic en Opciones y seleccione Crear una alarma en esta consulta. Consulte Gestión de alarmas para obtener información sobre la definición y el uso de las alarmas.

Métricas y dimensiones de Autonomous Database

Puede limitar las instancias en las que ve métricas con las dimensiones. Entre las dimensiones disponibles, se incluyen: tipo de carga de trabajo, nombre mostrado de instancia, región y OCID de instancia.

Utilice las dimensiones seleccionando valores en la página Métricas de servicio de la consola de Oracle Cloud Infrastructure o definiendo valores de dimensión con la API. Consulte Visualización de métricas de bases de datos autónomas de un compartimento para ver métricas y seleccionar dimensiones de métricas.

Uso de métricas personalizadas en Autonomous Database

Describe cómo crear y publicar métricas personalizadas en Autonomous Database.

Autonomous Database proporciona muchas métricas relacionadas con la base de datos que están disponibles a través del servicio OCI Monitoring. Además, puede crear métricas personalizadas para recopilar, publicar y analizar sus propias métricas. Una métrica personalizada recopila los datos especificados de la instancia de Autonomous Database y publica los datos en el servicio OCI Monitoring mediante una API de REST proporcionada por el SDK de OCI.

Requisitos

  1. Obtenga acceso a Oracle Cloud Infrastructure a través de la cuenta gratuita de Oracle Cloud o una cuenta en la nube de pago.

    Consulte Obtención de una cuenta de Oracle Cloud para obtener más información.

  2. Cree una instancia de Autonomous Database o tenga acceso a una instancia de Autonomous Database existente.

    Consulte Aprovisionamiento de una instancia de Autonomous Database para obtener más información.

  3. Obtenga credenciales ADMIN para la instancia de Autonomous Database.

  4. Utilice Database Actions o cualquiera de los clientes de Oracle Database, como SQL Developer o SQL*Plus, para conectarse a la base de datos.

    Consulte Conexión a Autonomous Database para obtener más información.

  5. Necesita acceso al servicio OCI Monitoring y a OCI Identity and Access Management.

    Consulte Publicación de métricas personalizadas mediante la API para obtener más información.

Visión general de métricas personalizadas con OCI Monitoring Service

En la siguiente figura se muestran los pasos para crear y publicar métricas personalizadas en Autonomous Database. Esto muestra que recopila datos de métricas con un script que se ejecuta en la instancia de Autonomous Database y que publica estos datos en el servicio OCI Monitoring, y cómo puede crear alarmas y notificaciones para los valores de métricas.



  • Cree y despliegue un script PL/SQL en la instancia de Autonomous Database. Este script se ejecuta periódicamente para calcular, recopilar y publicar métricas personalizadas en el servicio OCI Monitoring.

  • La instancia de Autonomous Database puede estar en un punto final público o privado. La comunicación entre la instancia de Autonomous Database y el servicio OCI Monitoring se lleva a cabo en la red de Oracle Cloud. Esto significa que, para publicar métricas en el servicio OCI Monitoring, no necesita crear un gateway de servicio.

Creación y publicación de métricas personalizadas

Para crear y publicar métricas personalizadas:

  1. En OCI Identity and Access Management, cree un grupo dinámico para la instancia de Autonomous Database y cree una política para autorizar al grupo dinámico a publicar métricas en el servicio OCI Monitoring.

    Por ejemplo:

    1. En la consola de Oracle Cloud Infrastructure, haga clic en Identidad y seguridad.
    2. En Identidad, haga clic en Dominios y seleccione un dominio de identidad (o cree un nuevo dominio de identidad).
    3. En Dominio de identidad, haga clic en Grupos dinámicos.
    4. Haga clic en Crear grupo dinámico e introduzca un nombre, una descripción y una regla.

      Por ejemplo, cree un grupo dinámico denominado adb_dg para la instancia de Autonomous Database y cree una regla:

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

      También puede seleccionar una única instancia de Autonomous Database en lugar de todas las instancias del compartimento:

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


    5. Haga clic en Crear.
    6. Cree una política de OCI Identity and Access Management (IAM) para autorizar el grupo dinámico.

      Por ejemplo, cree una política para autorizar al grupo dinámico adb_dg a publicar métricas en el servicio OCI Monitoring con la política adb_dg_policy:

      Allow dynamic-group adb_dg to use metrics in compartment OCID_of_compartment


    Después de definir la política, el grupo dinámico con la definición adb_dg está autorizado a publicar métricas en el compartimento.

    En este punto, la rutina PL/SQL que se ejecuta en Autonomous Database no puede publicar ninguna métrica en el servicio OCI Monitoring porque no hay usuarios de Autonomous Database autorizados para publicar métricas en el servicio OCI Monitoring. Esta capacidad se proporciona al activar la entidad de recurso en el siguiente paso (paso 2c).

  2. Cree un nuevo usuario o esquema de base de datos con los privilegios necesarios en la instancia de Autonomous Database o actualice un usuario o esquema de base de datos existente con los privilegios necesarios.

    Por ejemplo:

    1. Cree un usuario de base de datos o utilice un usuario existente para publicar métricas. .

      Por ejemplo, cree un nuevo usuario ECOMMERCE_USER en la instancia de Autonomous Database:

      CREATE USER ECOMMERCE_USER IDENTIFIED BY "password";

      Ahora tiene el nuevo usuario ECOMMERCE_USER. Los siguientes pasos son los mismos con este usuario o con el usuario que especifique. Sin embargo, si crea un usuario con un nombre diferente, debe sustituir ECOMMERCE_USER por el nombre de usuario alternativo.

    2. Otorgue al usuario privilegios relacionados con Oracle Database requeridos.
      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. Active las credenciales de Oracle Database para la entidad de recurso de Oracle Cloud y proporcione acceso al usuario.

      Este paso conecta el grupo dinámico adb_dg que ha creado en el paso 1 al usuario de base de datos ECOMMERCE_USER, lo que otorga al usuario autorización para publicar métricas en el servicio OCI Monitoring.

      Por ejemplo:

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

      Consulte Uso de entidad de recurso para acceder a los recursos de Oracle Cloud Infrastructure para obtener más información.

      Como alternativa a la autenticación de entidad de recurso, puede utilizar credenciales nativas de OCI para la autenticación. Consulte Procedimiento CREATE_CREDENTIAL para obtener más información.

    4. (Opcional) Verifique las operaciones que completó en el paso anterior.

      Por ejemplo:

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

      Para comprobar si un usuario que no sea ADMIN tiene acceso a la entidad de recurso de OCI, por ejemplo, para comprobar si ECOMMERCE_USER tiene acceso a la credencial de base de datos, utilice la vista DBA_TAB_PRIVS:

      SELECT * FROM DBA_TAB_PRIVS WHERE DBA_TAB_PRIVS.GRANTEE='ECOMMERCE_USER';
  3. Cree un script PL/SQL que publique datos de métricas y programe la ejecución del script en la instancia de Autonomous Database.
    1. Por ejemplo, cree un script PL/SQL con una métrica que cuente las filas de los datos de ejemplo de referencia de esquema de Star y las publique en el servicio 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;
      /

      Consulte PostMetricData para obtener más información.

    2. Programe un trabajo para llamar y publicar el punto de datos de métricas personalizadas una vez por minuto. En producción, el programa se configurará para que se ejecute según sus necesidades.
      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. Explore las métricas personalizadas publicadas en Metrics Explorer.
    1. En el menú de navegación de la consola de Oracle Cloud Infrastructure, haga clic en Observación y gestión.
    2. En Observación y gestión, haga clic en Explorador de métricas.
    3. En el explorador de métricas, seleccione el espacio de nombres como custom_metrics_from_adb, resourceGroup como ecommerece_adb y el nombre de métrica como lineorder_metric (nombre de la métrica que ha creado en el script PL/SQL).

      Están disponibles todos los metadatos y dimensiones que defina para las métricas personalizadas. Puede crear consultas de lenguaje de consulta de métricas (MQL) para analizar estas métricas según sus necesidades y casos de uso. También puede configurar alarmas de Oracle Cloud en el flujo de métricas para alertar a su equipo operativo. Esto automatiza el bucle de observabilidad para las métricas de Autonomous Database que elija. Tenga en cuenta que, en el explorador de métricas, la pantalla de métricas muestra por defecto la vista de gráfico y tiene la opción de activar la vista de lista para resaltar puntos de datos.

Después de crear métricas personalizadas, puede utilizar las métricas como cualquier métrica predefinida en el servicio OCI Monitoring. Esto significa que puede analizar métricas personalizadas con el lenguaje de consulta de métricas (MQL) y configurar alarmas y notificaciones para notificarle cada vez que se produzca un evento de interés.

Puede obtener más información en los siguientes enlaces: