Insights

Insights são instruções sobre padrões observados em dados históricos de desempenho de SQL que são consistentes com certos tipos de problemas ou eventos interessantes. Esses Insights são calculados diariamente e, em particular, não são declarações de fatos, mas sinais indiretos que são consistentes com certos tipos de fatos.

Por exemplo, o insight de alteração do plano procura uma sequência de observações com um hash de plano seguido por uma sequência de observações com outro hash de plano, para um determinado SQL_ID diariamente. Isso é consistente com o caso comum do otimizador de consulta usando um único plano para SQL_ID e, em seguida, alternando para outro plano. É imperfeito porque os dados coletados registram apenas o plano em uso no momento da coleta, a cada 30 minutos. Muitos planos podem ter sido usados que não foram registrados, mas esse não é o caso comum.

Os insights são agrupados por escopo:
  • Insights no nível da frota
  • Insights no nível do banco de dados
  • Insights de nível de SQL
Regiões e widgets do Insight
Todos os três painéis principais têm uma região com vários widgets chamada Insights:Widget de InsightsEssas regiões de widget permitem verificar e verificar rapidamente insights em um único lugar, com um widget de comunicação visual padronizado simples. Dentro desses insights, os indicadores de cores mostram os seguintes status:
  • Cinza: Insight não detectado.
  • Azul: Insight detectado, provavelmente não problemático.
  • Laranja: Insight detectado, pode ser problemático.
Casos de Uso do Insight
Insight Caso de uso Análise e saída Observações
Alterações do plano Algum banco de dados está tendo mais de algumas alterações de plano?

Qual é?

Contagem de bancos de dados com insights de alteração de plano durante o período. Indicador de status do mosaico de informações:
  • Azul quando > 0.
  • Cinza quando = 0

A ausência de alterações no plano deve indicar estabilidade na carga de trabalho se as taxas de execução permanecerem semelhantes.

Storms de invalidação Algum banco de dados sofreu uma recompilação extensa de SQL/PLSQL devido à invalidação do objeto?

Qual é?

Contagem de bancos de dados com pelo menos um dia no período em que o insight de tempestade de invalidação era verdadeiro. Indicador de status do mosaico de informações:
  • Azul quando > 0.
  • Cinza quando = 0

Níveis excessivos e inesperados de invalidações de SQL podem estar relacionados a eventos e podem consumir muita CPU.

Níveis cronicamente elevados de invalidações podem induzir carga desnecessária na base de dados,

Duplicações de compartilhamento de cursor Algum banco de dados tem aplicativos que não compartilham cursores e desperdiçam CPU?

Qual é?

Contagem de bancos de dados nos quais o insight de compartilhamento do cursor foi verdadeiro durante o período. Indicador de status do mosaico de informações:
  • Azul quando > 0.
  • Cinza quando = 0
Degradação de SQL

Algum banco de dados tem SQL que pode estar degradando com o tempo?

Qual é?

Contagem de bancos de dados que têm pelo menos um SQL_ID em que o insight SQL degradante foi verdadeiro durante o período. Indicador de status do mosaico de informações:
  • Laranja quando > 0.
  • Cinza quando = 0

Insights no Nível do Banco de Dados

Insight Casos de uso Análise e saída Observações
Tendência degradante O banco de dados tem algum SQL que mostre desempenho degradante durante o período?

Qual é?

Contagem do número de SQL_ID com insight de tendência de desempenho degradante durante o período. Calculado por banco de dados (todas as instâncias combinadas)
Indicador de status do mosaico de informações:
  • Laranja quando > 0.
  • Cinza (não detectado) quando = 0
Melhorando a tendência A instância do banco de dados tem algum SQL que mostre melhor desempenho ao longo do período?

Qual é?

Contagem do número de SQL_ID com melhoria do insight de tendência de desempenho ao longo do período.

Calculado por banco de dados (todas as instâncias combinadas)

Indicador de status do mosaico de informações:
  • Azul quando > 0.
  • Cinza (não detectado) quando = 0
Alterações de plano degradado As instâncias do banco de dados viram alguma alteração no plano que prejudicou o desempenho no período?

Qual é?

Contagem do número de SQL_ID com insight de alteração de plano único julgado degradado ao longo do período O total estimado de segundos extras por dia salvos é calculado para classificar este banco de dados em relação a outros.
Indicador de status do mosaico de informações:
  • Laranja quando > 0.
  • Cinza (não detectado) quando = 0

OBSERVAÇÃO: as alterações do plano são por instância

Alterações de plano melhorado As instâncias do banco de dados viram alguma alteração no plano que melhorou o desempenho no período?

Qual é?

Contagem do número de SQL_ID com insight de alteração de plano único julgado para ser aprimorado ao longo do período O total de segundos estimados salvos por dia é calculado para classificar este banco de dados em relação a outros.
Indicador de status do mosaico de informações:
  • Azul quando > 0.
    • Cinza (não detectado) quando = 0

OBSERVAÇÃO: as alterações do plano são por instância

Storm de invalidação Houve invalidação e recompilação generalizadas de SQL na instância do banco de dados durante o período? A contagem do número de dias em que pelo menos 20% do SQL total coletado também foi invalidada nesse dia. Este é um verdadeiro insight no nível do banco de dados, pois diz respeito a todas as SQL coletadas das instâncias do banco de dados por dia.
Indicador de status do mosaico de informações:
  • Azul quando > 0.
  • Cinza (não detectado) quando = 0
Novo SQL O banco de dados fez algum novo trabalho no período?

Que SQL e quanto trabalho?

Contagem do número de SQL_ID com timestamp de coleta inicial no período. O SQL pode não ser realmente novo no banco de dados, apenas novo no Ops Insights.
Indicador de status do mosaico de informações:
  • Azul quando > 0.
  • Cinza (não detectado) quando = 0

Insights em Nível de SQL

Insight Caso de uso Análise e saída Observações
Tendência de desempenho A latência de execução de SQL variou consistentemente para cima ou para baixo ao longo do tempo durante o período?

Os planos de execução podem ser sensíveis à expansão ou à contratação de tamanhos de dados.

Sinais verdadeiros para qualquer SQL_ID em que a regressão linear sobre as latências médias agregadas observadas no período explica pelo menos 1⁄2 da variação (R2 >0,5) na latência média agregada, E a alteração percentual na linha de regressão linear excede +/- 20% Mínimo de 5 observações por SQL_ID necessárias para a regressão.
  • A inclinação de regressão positiva indica uma tendência de degradação.
  • A inclinação de regressão negativa indica uma tendência de melhoria.

Indicador de status do mosaico de informações:

  • Laranja = degradante
  • Azul = melhorar
  • Cinza = não detectado

O limite de 20% precisa ser considerado no contexto do período selecionado.

Calculado por banco de dados (instâncias combinadas).

Variação de desempenho A SQL mostrou grande variação nas latências médias agregadas? Sinais verdadeiros para um SQL_ID quando o intervalo em latências médias agregadas dividido pela latência média agregada geral é maior que 25%. Mínimo de 5 observações necessárias.
Indicador de status do mosaico de informações:
  • Laranja quando > 25%
  • Cinza quando = 0
  • 0 < Azul < 25%
Mais significativo para SQL de execução mais longa e executada com menos frequência.
Alteração de plano única O SQL mostrou uma alteração de plano no banco de dados durante o período?

A mudança do plano afetou o desempenho?

Quanto?

Indicador de que o ID SQL selecionado incorreu em uma única alteração de plano diário durante o período. A última alteração do plano é usada para determinar a degradação ou melhoria. Mínimo de 5 observações necessárias.
  • A latência média mais alta do novo plano indica a regressão de desempenho.
  • A menor latência média para o novo plano indica melhoria de desempenho.
Indicador de status do mosaico de informações:
  • Laranja = regressão de desempenho
  • Azul = melhoria do desempenho
  • Cinza = não detectado

As informações do plano são amostradas e não estão completas.

Calculado por instância, pois instâncias diferentes podem ter planos diferentes.

Diversos planos O SQL foi executado em vários planos no banco de dados durante o período? Sinais verdadeiros quando a contagem do número de valores de hash de plano distintos para SQL_ID excede 1. As informações do plano são amostradas e não estão completas, portanto, pode haver mais planos do que os coletados.

Sinalizará com uma única mudança de plano.

Indicador de status do mosaico de informações:
  • Azul = contagem de plantas >1
  • Cinza = contagem de planos = 1

Calculado por banco de dados (instâncias combinadas).

Duplicações de compartilhamento de cursor

Existem SQL que podem compartilhar parsing e otimização salvos para a não utilização de variáveis de bind?

Quanto excesso de CPU é desperdiçado?

Sinais verdadeiros quando a contagem de SQL_ID distintos que compartilham a mesma assinatura de correspondência de força é > 1. Calculado por instância de banco de dados.
Indicador de status do mosaico de informações:
  • Azul = duplicatas > 0
  • Cinza = duplicatas = 0
Inclui somente SQL_ID com execuções = 1.

A CPU de análise em excesso estimada é calculada como SUM (tempo médio de análise em disco) – AVG (tempo médio de análise em disco) com base no fato de que a análise em disco rígido é toda a CPU e o tempo médio de análise em disco não é uma média, pois as execuções são 1 para todo o SQL.

O acima é provavelmente uma estimativa muito baixa do total de CPU perdido porque muitas duplicatas executadas não serão coletadas.