Monitorar o Desempenho com as Métricas do Autonomous Database

Você pode monitorar a integridade, a capacidade e o desempenho de seus bancos de dados com métricas, alarmes e notificações. Você pode usar a Console do Oracle Cloud Infrastructure ou APIs de Monitoramento para exibir métricas.

Exibir Métricas de uma Instância do Autonomous Database

Mostra as etapas para exibir as métricas do Autonomous Database.

Para exibir métricas, você deve ter o acesso necessário conforme especificado em uma política Oracle Cloud Infrastructure (se você estiver usando a Console, a API REST ou qualquer outra ferramenta). Consulte Conceitos Básicos sobre Políticas para obter informações sobre políticas.

Execute as seguintes etapas conforme necessário:

  • Abra a Console do Oracle Cloud Infrastructure clicando em ícone de navegação ao lado do Oracle Cloud.

  • No menu de navegação à esquerda do Oracle Cloud Infrastructure, clique em Oracle Database e, em seguida, dependendo da sua carga de trabalho, clique em um dos seguintes: Autonomous Data Warehouse, Autonomous JSON Database ou Autonomous Transaction Processing.
  • Na página Autonomous Databases, selecione um Autonomous Database nos links que estão na coluna Nome para exibição.

Para exibir métricas de uma instância do Autonomous Database:

  1. Na página Detalhes, em Recursos, clique em Métricas.
  2. Há um gráfico para cada métrica. Em cada gráfico, você pode selecionar o Intervalo e a Estatística ou usar os valores padrão.
Observação

A tabela a seguir mostra as métricas padrão mostradas na Console do Oracle Cloud Infrastructure.

Consulte Métricas Disponíveis: oci_autonomous_database para obter uma lista de todas as métricas e dimensões do banco de dados.

Nome da Métrica Descrição

Utilização de CPU

Utilização de CPU expressa como porcentagem, agregada em todos os grupos de consumidores. A porcentagem de utilização é reportada com relação ao número de CPUs que o banco de dados pode usar, que é o número de ECPUs.

Se o seu banco de dados usar OCPUs, o número de CPUs permitidas será duas vezes maior que o número de OCPUs.

Utilização de armazenamento

A porcentagem da capacidade de armazenamento provisionado atualmente em uso. Representa o espaço total alocado para todos os tablespaces.

Sessões

O número de sessões do banco de dados.

Contagem de execuções

O número de chamadas de usuário e recursivas que executaram instruções SQL durante o intervalo selecionado.

Instruções em execução

O número de instruções SQL em execução, agregadas entre todos os grupos de consumidores, durante o intervalo selecionado.

Instruções enfileiradas

O número de instruções SQL enfileiradas, agregadas entre todos os grupos de consumidores, durante o intervalo selecionado.

Disponibilidade do banco de dados

O banco de dados está disponível para conexões durante o intervalo de tempo selecionado (os dados dessa métrica têm um atraso de 5 minutos). Os valores possíveis dessa métrica são:

  • 1 = O banco de dados está disponível
  • 0 = O banco de dados está Indisponível

Você pode definir um alarme que seja acionado se o banco de dados não estiver disponível (valor 0).

Observação

A disponibilidade é calculada com base na "Porcentagem de Disponibilidade Mensal" descrita no documento Oracle PaaS e IaaS Public Cloud Services Pillar em Políticas de Entrega (consulte Contrato do Nível de Serviço de Disponibilidade do Autonomous Database).

Conexões com falha

Mostra o número total de conexões com falha com o banco de dados durante o intervalo selecionado.

Uma conexão é contada como com falha quando uma tentativa de conexão atinge o banco de dados e registra qualquer um dos seguintes erros: ORA-12514, ORA-12519 ou ORA-12529.

Para criar um alarme em uma métrica, em um gráfico ou tabela de métricas, clique em Opções e selecione Criar um alarme nesta Consulta. Consulte Gerenciando Alarmes para obter informações sobre como definir e usar alarmes.

Para obter mais informações sobre métricas, consulte Métricas Disponíveis: oci_autonomous_database.

Você também pode usar a API de Monitoramento para exibir métricas. Consulte API de Monitoramento para obter mais informações.

Exibir Logs e Trilhas de Auditoria

Mostra as etapas para exibir logs e trilhas de auditoria do Autonomous Database.

Observação

Para exibir logs e avaliações de auditoria, você deve ter o acesso obrigatório conforme especificado em uma política do Oracle Cloud Infrastructure (quer você esteja usando a Console, a API REST ou outra ferramenta). Consulte Conceitos Básicos sobre Políticas para obter informações sobre políticas.

Para exibir trilhas de auditoria e logs de uma instância do Autonomous Database:

  1. Na página Detalhes, em Recursos, clique em Métricas.
  2. Na área Métricas, clique em Exibir auditoria e logs.
  3. Na área Log, clique em Logs para exibir informações de log.
  4. Na área de log, clique em Auditoria para exibir informações de auditoria.

Consulte Autonomous Database de Auditoria e Logs de Auditoria para obter mais informações.

Exibir Métricas dos Autonomous Databases em um Compartimento

Mostra as etapas para exibir métricas para Autonomous Databases em um compartimento.

Para exibir métricas, você deve ter o acesso obrigatório, conforme especificado em uma política do Oracle Cloud Infrastructure (quer você esteja usando a Console, a API REST ou outra ferramenta). Consulte Conceitos Básicos sobre Políticas para obter informações sobre políticas.

  • Abra a Console do Oracle Cloud Infrastructure clicando em ícone de navegação ao lado do Oracle Cloud.

  • Na lista de navegação esquerda, clique em Observabilidade e Gerenciamento. Em Monitoramento, clique em Métricas do Serviço.

Para usar o serviço de métricas para exibir métricas do Autonomous Database:

  1. Na página Métricas do Serviço, em Compartimento, selecione seu compartimento.
  2. Na página Métricas do Serviço, em Namespace de Métricas, selecione oci_autonomous_database.
  3. Se houver vários Autonomous Databases no compartimento, você poderá mostrar métricas agregadas entre os Autonomous Databases selecionando Streams de Métricas Agregadas.
  4. Se quiser limitar as métricas que você vê, ao lado de Dimensões, clique em Adicionar (clique em Editar se já tiver adicionado dimensões).
    1. No campo Nome da Dimensão, selecione uma dimensão.
    2. No campo Valor da Dimensão, selecione um valor.
    3. Clique em Concluído.

    Na caixa de diálogo Editar dimensões, clique em +Dimensão Adicional para adicionar outra dimensão. Clique no x para remover uma dimensão.

Para criar um alarme em uma métrica específica, clique em Opções e selecione Criar um Alarme nesta Consulta. Consulte Gerenciando Alarmes para obter informações sobre como definir e usar alarmes.

Métricas e Dimensões do Autonomous Database

Você pode limitar as instâncias nas quais vê métricas com dimensões. As dimensões disponíveis incluem: tipo de carga de trabalho, nome para exibição da instância, região e o OCID da instância.

Use dimensões selecionando valores na página Métricas do Serviço da Console do Oracle Cloud Infrastructure ou definindo valores de dimensão com a API. Consulte Exibir Métricas dos Autonomous Databases em um Compartimento para exibir métricas e selecionar dimensões de métrica.

Usar Métricas Personalizadas no Autonomous Database

Descreve como criar e publicar métricas personalizadas no Autonomous Database.

O Autonomous Database fornece muitas métricas relacionadas ao banco de dados que estão disponíveis por meio do serviço OCI Monitoring. Além disso, você pode criar métricas personalizadas para coletar, publicar e analisar suas próprias métricas. Uma métrica personalizada coleta dados especificados da sua instância do Autonomous Database e publica os dados no serviço OCI Monitoring usando uma API REST fornecida pelo OCI SDK.

Requisitos

  1. Obtenha acesso ao Oracle Cloud Infrastructure por meio do Oracle Cloud Free Tier ou de uma Conta do Cloud paga.

    Consulte Obter uma Conta do Oracle Cloud para obter mais informações.

  2. Crie uma instância do Autonomous Database ou tenha acesso a uma instância existente do Autonomous Database.

    Consulte Provisionar uma Instância do Serviço Autonomous Database para mais informações.

  3. Obtenha credenciais ADMIN para sua instância do Autonomous Database.

  4. Use o Database Actions ou qualquer um dos clientes do Oracle Database, como SQL Developer ou SQL*Plus, para estabelecer conexão com o banco de dados.

    Consulte Estabelecer Conexão com o Autonomous Database para obter mais informações.

  5. Você precisa de acesso ao serviço OCI Monitoring e ao OCI Identity and Access Management.

    Consulte Publicando Métricas Personalizadas Usando a API para obter mais informações.

Visão Geral de Métricas Personalizadas com o Serviço OCI Monitoring

A figura a seguir mostra as etapas para criar e publicar métricas personalizadas no Autonomous Database. Isso mostra que você coleta dados de métrica com um script em execução na sua instância do Autonomous Database e publica esses dados no serviço OCI Monitoring e como criar alarmes e notificações para valores de métrica.



  • Crie e implante um script PL/SQL na sua instância do Autonomous Database. Esse script é executado periodicamente para calcular, coletar e publicar métricas personalizadas no serviço OCI Monitoring.

  • A instância do Autonomous Database pode estar em um ponto final público ou privado. A comunicação entre a instância do Autonomous Database e o serviço OCI Monitoring ocorre na rede do Oracle Cloud. Isso significa que, para publicar métricas no serviço OCI Monitoring, você não precisa criar um gateway de serviço.

Criar e Publicar Métricas Personalizadas

Para criar e publicar métricas personalizadas:

  1. No OCI Identity and Access Management, crie um grupo dinâmico para sua instância do Autonomous Database e crie uma política para autorizar o grupo dinâmico a publicar métricas no serviço OCI Monitoring.

    Por exemplo:

    1. Na console do Oracle Cloud Infrastructure, clique em Identidade e Segurança.
    2. Em Identidade, clique em Domínios e selecione um domínio de identidades (ou crie um novo domínio de identidades).
    3. Em Domínio de identidades, clique em Grupos dinâmicos.
    4. Clique em Criar grupo dinâmico e informe um Nome, uma Descrição e uma regra.

      Por exemplo, crie um grupo dinâmico chamado adb_dg para sua instância do Autonomous Database e crie uma regra:

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

      Como alternativa, você pode selecionar uma única instância do Autonomous Database em vez de todas as instâncias no compartimento:

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


    5. Clique em Criar.
    6. Criar uma política do OCI Identity and Access Management (IAM) para autorizar o grupo dinâmico.

      Por exemplo, crie uma política para autorizar o grupo dinâmico adb_dg a publicar métricas no serviço OCI Monitoring com a política adb_dg_policy:

      Allow dynamic-group adb_dg to use metrics in compartment OCID_of_compartment


    Depois que você definir a política, o grupo dinâmico com a definição adb_dg será autorizado a postar métricas no compartimento.

    Neste ponto, a rotina PL/SQL em execução no Autonomous Database não pode publicar métricas no serviço OCI Monitoring porque não há usuários do Autonomous Database autorizados a publicar métricas no serviço OCI Monitoring. Você fornece esse recurso ao ativar o controlador de recursos na etapa a seguir (etapa 2c).

  2. Crie um novo usuário ou esquema de banco de dados com os privilégios necessários na instância do Autonomous Database ou atualize um usuário ou esquema de banco de dados existente com os privilégios necessários.

    Por exemplo:

    1. Crie um usuário do banco de dados ou use um usuário existente para publicar métricas.

      Por exemplo, crie um novo usuário ECOMMERCE_USER na instância do Autonomous Database:

      CREATE USER ECOMMERCE_USER IDENTIFIED BY "password";

      Agora você tem o novo usuário ECOMMERCE_USER. As etapas a seguir são as mesmas com este usuário ou com o usuário especificado. No entanto, se você criar um usuário com um nome diferente, precisará substituir ECOMMERCE_USER pelo nome de usuário alternativo.

    2. Conceda ao usuário os privilégios necessários relacionados ao 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. Ative as credenciais do Oracle Database para o Controlador de Recursos do Oracle Cloud e conceda acesso ao usuário.

      Essa etapa conecta o grupo dinâmico adb_dg criado na etapa 1 ao usuário do banco de dados ECOMMERCE_USER, dando ao usuário autorização para postar métricas no serviço OCI Monitoring.

      Por exemplo:

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

      Consulte Usar o Controlador de Recursos para Acessar os Recursos do Oracle Cloud Infrastructure para obter mais informações.

      Como alternativa à autenticação do Controlador de Recursos, você pode usar credenciais Nativas do OCI para autenticação. Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

    4. (Opcional) Verifique as operações concluídas na etapa anterior.

      Por exemplo:

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

      Para verificar se um usuário diferente de ADMIN tem acesso ao Controlador de Recursos do OCI, por exemplo, para verificar se o ECOMMERCE_USER tem acesso à credencial do banco de dados, use a view DBA_TAB_PRIVS:

      SELECT * FROM DBA_TAB_PRIVS WHERE DBA_TAB_PRIVS.GRANTEE='ECOMMERCE_USER';
  3. Crie um script PL/SQL que publique dados de métrica e programe o script para ser executado na sua instância do Autonomous Database.
    1. Por exemplo, crie um script PL/SQL com uma métrica que conte as linhas dos dados de amostra do Star Schema Benchmark e publique no serviço 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 obter mais informações.

    2. Programe um job para chamar e publicar o ponto de dados de métrica personalizado uma vez por minuto. Na produção, a programação seria configurada para ser executada de acordo com suas necessidades.
      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 as métricas personalizadas publicadas no Metrics Explorer.
    1. No menu de navegação da Console do Oracle Cloud Infrastructure, clique em Observabilidade e Gerenciamento.
    2. Em Observabilidade e Gerenciamento, clique em Explorador de Métricas.
    3. No Metrics Explorer, selecione o namespace como custom_metrics_from_adb, resourceGroup como ecommerece_adb e o nome da métrica como lineorder_metric (o nome da métrica criada no script PL/SQL).

      Todos os metadados e dimensões definidos para métricas personalizadas estão disponíveis. Você pode construir consultas de Linguagem de Consulta de Métricas (MQL) para analisar essas métricas de acordo com suas necessidades e caso de uso. Você também pode configurar Alarmes do Oracle Cloud no fluxo de métricas para alertar sua equipe operacional. Isso automatiza o loop de observabilidade das métricas do Autonomous Database de sua escolha. Observe que, no Explorador de Métricas, a tela de métrica por padrão mostra a exibição de gráfico e você tem a opção de ativar a exibição em lista para destacar pontos de dados.

Depois de criar métricas personalizadas, você pode usar as métricas como qualquer métrica predefinida no serviço OCI Monitoring. Isso significa que você pode analisar métricas personalizadas com o Metrics Query Language (MQL) e configurar alarmes e notificações para notificá-lo sempre que ocorrer um evento de interesse.

Para obter mais informações, consulte: