Todos os produtos
Search
Central de documentação

Database Autonomy Service:Gerenciamento de sessões

Última atualização: Jun 27, 2026

O gerenciamento de sessões do Database Autonomy Service (DAS) permite monitorar sessões ativas e anormais do banco de dados em tempo real e tomar medidas para resolver problemas de desempenho. Você pode visualizar métricas de sessão, executar a análise de SQL de 10 segundos, aplicar limitação de SQL, otimizar instruções SQL e encerrar sessões.

Os exemplos neste documento usam uma instância do ApsaraDB RDS for MySQL.

Pré-requisitos

  • A instância de banco de dados está conectada ao DAS e apresenta o status Normal Access.

  • A instância de banco de dados não é do ApsaraDB RDS for SQL Server. O DAS não oferece gerenciamento de sessões para instâncias do ApsaraDB RDS for SQL Server.

Aviso

Em instâncias do RDS MySQL 8.0 com versões secundárias do mecanismo anteriores a 20230610, a execução simultânea de comandos como COM_STATISTICS, COM_CHANGE_USER e a instrução SHOW PROCESSLIST pode causar deadlocks e resultar em falhas de conexão da instância. Atualize para a versão secundária mais recente do mecanismo para evitar esse problema.

Abrir o gerenciamento de sessões

  1. Faça login no console do DAS.

  2. No painel de navegação à esquerda, escolha Intelligent O&M Center > Instance Monitoring.

  3. Localize a instância de banco de dados desejada e clique em ID da instância.

  4. No painel à esquerda, clique em Instance Sessions.

A aba Session Management exibe duas seções: Instance Sessions e Session Statistics.

Sessões da instância

A seção Instance Sessions mostra detalhes das sessões e fornece ações de diagnóstico.

Métricas em tempo real

O cabeçalho da seção exibe as seguintes métricas:

Métrica

Descrição

Sessões excepcionais

Quantidade de sessões sinalizadas como anormais

Sessões ativas

Número de sessões atualmente ativas

Maior duração de execução

Tempo decorrido da consulta em execução há mais tempo

Utilização da CPU

Uso atual da CPU pela instância

Uso de conexões

Contagem atual de conexões em relação ao limite

Executar a análise de SQL de 10 segundos

Clique em 10s SQL Analysis no canto superior direito da seção. A caixa de diálogo exibe a atividade de consulta capturada em uma janela de 10 segundos, incluindo:

  • Informações resumidas

  • Logs de consultas lentas

  • Visão geral do SQL

Para obter mais informações, consulte Análise de SQL de 10 segundos.

Ativar a limitação de SQL

Clique em SQL Throttling para abrir a caixa de diálogo SQL Throttling. Configure os parâmetros para aplicar a limitação de SQL baseada em limiares nas sessões.

Para obter mais informações, consulte Limitação de SQL.

Otimizar SQL

Na lista de sessões, clique em Optimize para otimizar uma instrução SQL.

Para obter mais informações, consulte Otimização de SQL.

Exportar sessões ativas

Exporte as sessões ativas da seção Instance Sessions.

Encerrar sessões

Para encerrar uma sessão, insira a conta e a senha do banco de dados onde ela foi criada. Também é possível usar uma conta com permissões para encerrar sessões criadas por outras contas, como uma conta privilegiada.

A coluna User mostra a conta do banco de dados que criou cada sessão. Clique em End Session History para visualizar registros de sessões encerradas.

Estatísticas de sessões

A seção Session Statistics exibe informações resumidas e estatísticas de sessões agrupadas por usuário, source de acesso ou banco de dados.

As informações resumidas incluem:

Métrica

Descrição

Número total de sessões

Todas as sessões na instância

Total de sessões em andamento

Sessões atualmente em progresso

Maior duração de sessão

Duração da sessão mais longa

Exporte as informações resumidas e as estatísticas de sessões por usuário, source de acesso ou banco de dados.

Perguntas frequentes

Por que um sinal de porcentagem (%) aparece na coluna Access Source?

Um sinal de porcentagem (%) pode aparecer na coluna Access Source, na aba Source Statistics da aba SQL Explorer, quando um procedimento armazenado é usado.

Os passos a seguir reproduzem esse comportamento. Neste exemplo, a instância de banco de dados é do ApsaraDB RDS for MySQL, a conta de teste é test_user e o banco de dados de teste é testdb.

  1. Crie um banco de dados e uma conta padrão e conceda permissões no banco de dados para a conta padrão no console do ApsaraDB RDS. Para mais detalhes, consulte Criar contas e bancos de dados.

  2. Conecte-se à instância como test_user usando a CLI. Para mais detalhes, consulte Usar um cliente de banco de dados ou a CLI para conectar-se a uma instância do ApsaraDB RDS for MySQL.

  3. Mude para o banco de dados testdb e crie um procedimento armazenado:

    -- Switch to the testdb database.
    USE testdb;
    
    -- Create a stored procedure.
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
    SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER;
  4. Conecte-se à instância de banco de dados com uma conta privilegiada. Para mais detalhes, consulte Usar um cliente de banco de dados ou a CLI para conectar-se a uma instância do ApsaraDB RDS for MySQL.

  5. Chame o procedimento armazenado:

    -- Switch to the testdb database.
    USE testdb;
    
    -- Call the stored procedure.
    CALL das();
    
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

A coluna HOST mostra %:2065, o que faz com que o sinal de porcentagem apareça na coluna Access Source.

Quais sessões são marcadas como anormais para instâncias do ApsaraDB RDS for MySQL e clusters do PolarDB for MySQL?

As seguintes sessões são marcadas como anormais:

Condição

Detalhes

SQL bloqueante com duração de execução superior a 30 segundos

Instruções SQL bloqueantes ocupam recursos por um período prolongado e impedem a execução de outras instruções SQL. Exemplos comuns incluem a instrução FLUSH TABLES WITH READ LOCK e instruções DDL aguardando locks de metadados devido a transações pendentes (por exemplo, uma sessão relatando um erro "Waiting for table metadata lock").

Transações com duração superior a 30 segundos

Transações de longa duração que retêm recursos além do limiar de 30 segundos.

Transações não confirmadas sem nova execução de SQL por mais de 10 segundos

Se uma transação for iniciada em uma sessão, mas nenhuma nova instrução SQL for executada por mais de 10 segundos, é provável que o comando COMMIT tenha sido omitido no código. Isso faz com que a transação retenha recursos e atrase sua liberação.