Oracle ASH: Active Session History para Diagnóstico e Performance
Oracle ASH (Active Session History) é um recurso do Oracle Database utilizado para coletar informações sobre sessões ativas e ajudar na investigação de problemas de desempenho. O Oracle ASH permite analisar o que as sessões estavam executando, quais recursos estavam aguardando e como o banco se comportou durante determinados períodos.
Em ambientes corporativos, o Oracle ASH complementa o Oracle AWR e o Oracle ADDM, oferecendo uma visão mais detalhada das sessões e dos eventos que contribuíram para problemas de performance.
O que é Oracle ASH?
O Active Session History registra amostras das sessões ativas do Oracle Database. Essas informações permitem analisar o comportamento das sessões durante determinado período.
Em vez de observar somente o estado atual do banco, o DBA pode utilizar o histórico disponível para investigar situações que ocorreram anteriormente.
Essa característica torna o ASH particularmente útil em incidentes de curta duração, nos quais o problema já desapareceu quando a equipe técnica inicia a investigação.
Para que serve o Oracle ASH?
O Oracle ASH pode ser utilizado para investigar diferentes situações relacionadas ao desempenho do banco de dados.
- Identificar sessões ativas durante um problema.
- Investigar eventos de espera.
- Identificar SQL associadas a períodos de lentidão.
- Analisar consumo de CPU.
- Investigar bloqueios.
- Identificar sessões concorrentes.
- Investigar problemas de I/O.
- Correlacionar usuários, sessões e SQL.
- Analisar problemas que já terminaram.
Como funciona o Oracle ASH?
O Oracle Database coleta informações sobre sessões ativas em intervalos regulares. Essas amostras podem ser utilizadas para construir uma visão histórica do comportamento das sessões.
O ASH não significa que todas as operações realizadas pelo banco sejam armazenadas individualmente. Ele trabalha com amostragem das sessões ativas.
Essa característica permite obter informações úteis para troubleshooting sem precisar registrar cada evento de cada sessão de maneira contínua.
Oracle ASH e sessões ativas
Uma sessão ativa é aquela que está consumindo recursos ou aguardando algum recurso relevante durante o período observado.
Ao analisar o ASH, o DBA pode identificar quais sessões estavam ativas e qual era o estado delas durante determinado momento.
Oracle ASH e eventos de espera
Os eventos de espera são fundamentais para compreender por que uma sessão não está avançando.
Uma sessão pode estar aguardando I/O, bloqueios, recursos de memória, comunicação ou outros componentes do ambiente.
O ASH permite observar essas esperas dentro do contexto da sessão e da atividade executada.

Oracle ASH e Oracle AWR
O Oracle AWR e o ASH são tecnologias complementares.
O AWR oferece uma visão histórica ampla do desempenho do banco, enquanto o ASH permite aprofundar a análise do comportamento das sessões ativas.
Em uma investigação de performance, o DBA pode começar identificando o período problemático no AWR e depois utilizar informações do ASH para aprofundar a análise.
Oracle ASH e Oracle ADDM
O Oracle ADDM utiliza informações de desempenho do Oracle Database para auxiliar na identificação de problemas.
Quando uma recomendação ou evidência apresentada pelo ADDM precisa ser investigada em maior profundidade, o ASH pode fornecer informações adicionais sobre sessões, SQL e esperas.
Oracle ASH e SQL
Uma das aplicações mais importantes do ASH é relacionar sessões ativas às SQL executadas durante o período analisado.
Isso permite investigar quais instruções estavam associadas a determinado evento de espera ou consumo de recurso.
Oracle ASH e SQL_ID
O SQL_ID é um dos identificadores importantes utilizados na análise de SQL no Oracle Database.
Ao encontrar um SQL_ID associado a um período de lentidão, o DBA pode aprofundar a investigação utilizando outras ferramentas e informações disponíveis no ambiente.
Oracle ASH e CPU
Quando o banco apresenta consumo elevado de CPU, o ASH pode ajudar a identificar quais sessões e SQL estavam ativas durante o período.
Essa informação é importante para diferenciar aumento legítimo da carga de trabalho de situações provocadas por SQL ineficiente ou comportamento anormal da aplicação.
Oracle ASH e I/O
O ASH também pode ajudar a identificar sessões que estavam aguardando operações relacionadas a I/O.
O diagnóstico deve considerar o tipo de operação, volume de dados, infraestrutura de armazenamento e comportamento da aplicação.
Oracle ASH e bloqueios
Bloqueios podem provocar lentidão significativa em aplicações Oracle.
O ASH pode ajudar a identificar sessões que estavam aguardando recursos bloqueados e fornecer informações para direcionar a investigação.
O diagnóstico completo deve identificar a sessão responsável pelo bloqueio, a operação envolvida e a causa que levou à retenção do recurso.
Oracle ASH e sessões concorrentes
Quando várias sessões competem pelos mesmos recursos, o banco pode apresentar aumento de espera e redução do desempenho.
A análise do ASH permite observar a concentração de sessões em determinados eventos e períodos.
Oracle ASH e troubleshooting
O troubleshooting com ASH deve seguir uma metodologia estruturada.
Identifique o horário do problema
Primeiro determine com precisão quando ocorreu a lentidão ou indisponibilidade parcial.
Identifique as sessões
Depois verifique quais sessões estavam ativas durante o período.
Analise os waits
Identifique os principais eventos de espera associados às sessões.
Identifique as SQL
Relacione as sessões às instruções SQL envolvidas.
Correlacione com a aplicação
Verifique qual sistema, usuário ou processo estava gerando a carga.
Investigue a causa
Somente depois dessas etapas deve-se definir a ação corretiva.
Oracle ASH e problemas intermitentes
Problemas intermitentes são particularmente difíceis de diagnosticar porque podem desaparecer antes que o DBA consiga reproduzi-los.
Nesses casos, o histórico de atividade fornecido pelo ASH pode ser extremamente útil.
O administrador pode analisar o período em que o problema ocorreu mesmo quando o banco já voltou ao funcionamento normal.
Oracle ASH e análise histórica
A análise histórica permite responder perguntas como:
- Quais sessões estavam ativas às 14h?
- Quais SQL estavam consumindo CPU?
- Qual evento de espera predominava?
- Havia bloqueios?
- Qual usuário estava gerando a carga?
- Qual aplicação estava envolvida?
- O problema estava concentrado em uma instância?
Oracle ASH em Oracle RAC
Em ambientes Oracle RAC, a análise de sessões precisa considerar múltiplas instâncias.
Uma carga pode estar concentrada em determinado nó, enquanto outro apresenta comportamento normal.
O diagnóstico deve considerar a distribuição das sessões, SQL, eventos de espera e recursos entre as instâncias.
Oracle ASH e Oracle Grid Infrastructure
Em ambientes RAC, a infraestrutura fornecida pelo Oracle Grid Infrastructure também precisa ser considerada quando existem problemas de comunicação, cluster ou disponibilidade.
O ASH concentra-se na atividade do banco e das sessões, portanto a investigação de problemas de infraestrutura pode exigir ferramentas complementares.
Oracle ASH e Exadata
Em ambientes Oracle Exadata, o ASH pode fazer parte da análise de desempenho do banco.
Porém, o diagnóstico deve considerar também os recursos específicos da plataforma Exadata e o comportamento do storage.
Oracle ASH e monitoramento
O ASH é uma ferramenta de diagnóstico, mas pode fazer parte de uma estratégia maior de monitoramento.
O Oracle Enterprise Manager pode fornecer uma camada gráfica de monitoramento e análise do ambiente.
Outras ferramentas corporativas também podem ser integradas ao processo de observabilidade.
Oracle ASH e Oracle Observability Cloud
O Oracle Observability Cloud pode complementar a análise do ambiente ao fornecer recursos de observabilidade para diferentes componentes da infraestrutura.
A combinação de informações do banco, infraestrutura e aplicação proporciona uma visão mais completa dos problemas.

Oracle ASH e performance tuning
O ASH é uma importante fonte de informações para tuning, mas não deve ser utilizado isoladamente.
Depois de identificar uma SQL ou sessão problemática, o DBA deve analisar plano de execução, estatísticas, índices, cardinalidade, parâmetros e comportamento da aplicação.
O objetivo é encontrar a causa e não apenas tratar o sintoma.
Oracle ASH e planos de execução
Quando uma SQL aparece repetidamente associada a um período de problema, é importante verificar o plano de execução.
Uma mudança de plano pode transformar uma consulta eficiente em uma operação muito mais custosa.
Oracle ASH e mudanças de ambiente
Problemas de desempenho podem começar após mudanças de infraestrutura, aplicação ou banco.
O ASH pode ajudar a correlacionar o momento da mudança com a alteração do comportamento das sessões.
Exemplos incluem:
- Deploy de aplicação.
- Alteração de SQL.
- Patch do Oracle.
- Alteração de infraestrutura.
- Mudança de índices.
- Alteração de parâmetros.
- Crescimento do volume de dados.
Oracle ASH e capacidade
O histórico das sessões também pode ajudar a entender como o ambiente utiliza seus recursos durante períodos de pico.
Essa informação pode complementar análises de capacidade e planejamento de crescimento.
Oracle ASH e relatórios
Informações do ASH podem ser utilizadas em relatórios de diagnóstico e acompanhamento de incidentes.
É recomendável documentar o período analisado, sintomas, principais sessões, SQL, waits, causa identificada e ação realizada.
Cuidados na interpretação do Oracle ASH
- ASH trabalha com amostragem.
- Nem toda atividade do banco deve ser interpretada como problema.
- Uma sessão com muitas amostras não significa automaticamente que exista uma falha.
- Wait events precisam ser analisados no contexto da carga.
- SQL de alto consumo precisam ser relacionadas ao negócio.
- Problemas de infraestrutura exigem ferramentas complementares.
- Correlação temporal não prova causalidade.
Oracle ASH e segurança
Informações de sessões, usuários e SQL podem revelar detalhes da operação do ambiente corporativo.
Por isso, o acesso aos recursos de diagnóstico deve seguir as políticas de segurança e controle de privilégios da organização.
Oracle ASH em ambientes críticos
Em ambientes de missão crítica, a capacidade de investigar rapidamente um incidente pode reduzir o tempo de indisponibilidade.
Por isso, equipes Oracle devem conhecer AWR, ASH, ADDM e as demais ferramentas disponíveis para diagnóstico.

Oracle ASH e consultoria Oracle
A análise de ASH exige experiência em Oracle Database, SQL, infraestrutura, aplicações e metodologias de troubleshooting.
A Dominus Tech pode apoiar empresas na investigação de problemas de desempenho e na análise de ambientes Oracle corporativos.
Serviços relacionados ao Oracle ASH
- Análise de sessões ativas.
- Investigação de wait events.
- Análise de SQL.
- Diagnóstico de bloqueios.
- Investigação de consumo de CPU.
- Análise de I/O.
- Tuning de banco de dados.
- Análise de Oracle RAC.
- Análise de relatórios AWR.
- Análise de ADDM.
- Monitoramento Oracle.
- Troubleshooting de ambientes críticos.
Quando utilizar Oracle ASH?
O Oracle ASH é especialmente útil quando existe necessidade de investigar o comportamento das sessões durante um período específico.
É particularmente valioso para problemas intermitentes, lentidão, bloqueios, consumo elevado de CPU, I/O e situações nas quais o problema já desapareceu.
Benefícios do Oracle ASH
- Investigação histórica de sessões.
- Identificação de eventos de espera.
- Correlação entre sessões e SQL.
- Análise de períodos de lentidão.
- Investigação de bloqueios.
- Apoio ao tuning.
- Diagnóstico de problemas intermitentes.
- Complemento ao Oracle AWR.
- Complemento ao Oracle ADDM.
Links Relacionados
- Banco de Dados Empresarial
- Oracle Database Corporativo
- Oracle AWR
- Oracle ADDM
- Tuning de Banco de Dados
- Oracle Enterprise Manager
- Oracle Observability Cloud
- Oracle RAC
- Oracle Grid Infrastructure
- Oracle Clusterware
- Oracle Exadata
- Oracle Data Guard
- Oracle MAA
- Oracle RMAN
- Oracle Database Security
- Oracle TDE
- Oracle Data Pump
- Oracle Flashback
- Oracle Key Vault
Recursos Oficiais Oracle
- Oracle Database Performance Tuning
- Documentação Oficial Oracle Database
- Oracle Database Performance Tuning Guide
Perguntas Frequentes sobre Oracle ASH
O que é Oracle ASH?
Oracle ASH é o Active Session History, recurso utilizado para coletar amostras sobre sessões ativas do Oracle Database e apoiar análises de desempenho.
Para que serve o Oracle ASH?
Ele ajuda a investigar sessões, SQL, eventos de espera, CPU, I/O, bloqueios e outros aspectos relacionados ao desempenho.
Oracle ASH substitui o AWR?
Não. ASH e AWR são complementares. O AWR oferece uma visão histórica mais ampla, enquanto o ASH permite aprofundar a análise das sessões ativas.
Oracle ASH ajuda a encontrar bloqueios?
Sim. As informações de sessões e eventos de espera podem ajudar a identificar situações relacionadas a bloqueios.
Oracle ASH ajuda a encontrar SQL problemática?
Sim. O ASH pode relacionar sessões ativas a SQL durante determinado período, auxiliando a investigação.
Oracle ASH funciona em Oracle RAC?
Sim. A análise pode ser utilizada em ambientes RAC, considerando as diferentes instâncias e a distribuição das sessões.
Oracle ASH é uma ferramenta de monitoramento?
É principalmente um recurso de diagnóstico e histórico de sessões. Pode fazer parte de uma estratégia maior de monitoramento e observabilidade.
Conclusão
O Oracle ASH é um recurso importante para profissionais que precisam investigar problemas de desempenho no Oracle Database. Sua capacidade de relacionar sessões, SQL e eventos de espera durante determinados períodos permite aprofundar diagnósticos que seriam difíceis de realizar apenas observando o estado atual do banco.
Quando utilizado em conjunto com Oracle AWR e ADDM, o ASH fornece uma visão mais completa do comportamento do ambiente. AWR ajuda a identificar o período e o contexto do problema, enquanto ASH permite investigar com maior detalhe as sessões envolvidas.
Para ambientes corporativos, dominar essas ferramentas é uma competência importante para equipes de DBA responsáveis por disponibilidade, performance e continuidade operacional.

A proteção dos dados corporativos exige planejamento, experiência e conhecimento das melhores práticas da Oracle.
A Dominus Tech oferece serviços especializados para implantação, revisão e evolução da segurança em ambientes Oracle Database, incluindo assessment, hardening, criptografia, auditoria, monitoramento, alta disponibilidade e recuperação de desastres.
👉Entre em contato com nossa equipe para descobrir como fortalecer a segurança do seu ambiente Oracle Database e reduzir os riscos para o seu negócio.
