Neste artigo iremos repassar as
várias seções do AWR e os significados de cada uma das seções.
O relatório AWR é dividido em várias seções.
1) Instance
Information: Nesta seção são apresentadas as informações do nome da instância,
número da instância, os id’s dos “snapshots” (intervalo que o relatório foi
gerado), o tempo total para a geração do relatório e o tempo de execução no
banco de dados.
Tempo decorrido = (tempo
final - tempo inicial)
Tempo do banco de dados = É
o trabalho realizado pelo banco de dados durante o tempo decorrido (CPU e I/O).
Se o tempo for menor que o tempo decorrido por uma margem muito grande e o banco
de dados estiver ocioso. Tempo de banco de dados não inclui o tempo utilizado
pelos processos de “background”.
2) Cache Sizes: Essa seção
mostra o tamanho de cada região SGA. Esta informação pode ser comparada aos
parâmetros do arquivo de inicialização “init.ora” que são apresentados no final
do relatório.
3) Load
Profile: Esta seção apresenta as taxas de sobrecarga no banco de dados, as
unidades são expressas em unidades de transações por segundo por segundo. Isto
é muito importante para a compreensão de como a instância está se comportando.
Essa informação deve ser comparada ao relatório de (baseline) para que se possa
compreender as sobrecargas esperadas do servidor e sua variação (DELTA) dentro
dos piores tempos (possibilidade de previsão de sobrecargas).
4)
Instance
Efficiency Percentages (Target 100%): Esta seção apresenta informações sobre as
relações vitais do “buffer cache”, da “library cache”, e dos “parses” entre
outros. Estes valores podem ser tomados como indicadores, mas não devem ser uma
causa de preocupação, se eles estiverem baixos. As atividades do banco de dados
podem ser menores ou maiores que esses indicadores o que não representam um problema
real de desempenho.
5) Shared
Pool Statistics: Sessão que resume as alterações na área de “shared pool”
durante o intervalo solicitado no relatório.
6)
Top
5 Timed Events: Esta é a seção mais relevante para a análise. Nesta seção pode-se
verificar o percentual de tempo no banco de dados e quais os eventos estão gerando
espera.
7)
RAC
Statistics: Nesta seção somente é utilizada para bases de dados em cluster
(RAC). As informações fornecidas nessa seção indicam o tempo médio para a
transferência de blocos entre os nós, o recebimento de mensagens entre os nós
que podem apontar problemas de desempenho do cluster em vez de banco de dados.
8) Wait
Class: Esta seção apresenta as classes de espera no banco de dados, que
apresentam contenções e onde é
necessário foco para os ajustes. As classes de esperas informadas são referente
à rede, concorrência, ao cluster, I/O, aplicações, configurações.
9) Wait
Events Statistics Section: Esta seção apresenta os eventos principais espera do
banco de dados incluindo processos de “background” e “foreground” e também o
tempo de espera pelo sistema operacional, serviços e estatísticas das classes
de espera.
10) Wait
Events: Esta seção fornece os detalhes sobre as informações dos eventos de
espera dos processos em “foreground” a sessão inclui também os eventos de
espera (Top 5) e muitos outros eventos gerados durante o intervalo
especificado para a geração do relatório.
11) Background
Wait Events: Esta seção apresenta os eventos dos processos de “background”
relevantes.
12) Time
Model Statistics: Relata como o tempo de processamento do banco de dados é
gasto. Esta seção contém informações detalhadas de tempo e determinados
componentes que participam no processamento de banco de dados. Fornece
informações sobre o tempo dos processos em “background” e também dos tempos que
não estão incluídos no tempo do banco de dados.
13)
Operating
System Statistics: Esta seção é importante porque apresenta a contenção sob a
ótica do sistema operacional. Esta seção mostra os principais recursos
externos, incluindo I/O, CPU, memória e uso de rede.
14)
Service
Statistics: Fornece informações sobre as estatísticas dos serviços e as cargas
correspondentes em termos de segundos de CPU, segundos de I/O, número de buffers
lidos, etc.
15)
SQL
Section: Esta seção exibe as consultas de SQL com maior consumo no banco de
dados (Top SQL), ordenado por métricas importantes.
a.
SQL
Ordered by Elapsed Time: Apresenta os comandos SQL que tiveram um tempo
significativo de execução durante o processamento.
b. SQL
Ordered by CPU Time: Apresenta os comandos SQL que consumiram tempo
significativo de CPU durante o processamento.
c.
SQL
Ordered by Gets: Apresenta os comandos SQL com grande número de leituras
lógicas.
d. SQL
Ordered by Reads: Apresenta os comandos SQL com um elevado número de leituras
físicas em disco.
e.
SQL
Ordered by Parse Calls: Apresenta os comandos SQL com um
elevado número de operações de “reparsing”.
f. SQL
Ordered by Sharable Memory: Apresenta os comandos SQL, incluindo
os cursores que consumiram uma grande quantidade de SGA (shared pool area).
g. SQL
Ordered by Version Count: Apresenta os comandos SQL que têm um grande número de
versões na “shared pool area”.
16) Instance Activity Stats: Esta
seção contém informações estatísticas que descrevem como o banco de dados está
operando durante o intervalo especificado para a geração do relatório.
17) I/O Section: Nesta seção
são apresentados as atividades de I/O. Fornece o tempo para realizar uma
operação de I/O que equivale dizer Av Rd(ms) e o I/O por segundo equivale dizer
Av Rd/s. As informações devem ser comparadas com as informações do relatório de
(baseline) para verificar se a taxa de
I/O mantém uma constância ou se houve uma divergência.
18) Advisory Section: Esta
seção mostra detalhes dos alertas sobre o “buffer”, “shared pool” PGA da Java
Pool.
19) Buffer Wait Statistics: Esta
seção apresenta as estatísticas do “buffer cache”.
20) Enqueue Activity: Esta
seção apresenta as atividades das filas de operações do banco de dados. As
filas de operações são estruturas internas especiais que fornecem acesso
simultâneo a vários recursos de banco de dados.
21) Undo Segment Summary: Esta
seção apresenta um resumo sobre como os segmentos de UNDO são utilizados pelo
banco de dados. Esta seção mostra informações históricas sobre a atividade do
segmento de UNDO.
22) Latch Activity: Nesta seção
apresenta detalhes sobre as estatísticas de “latchs”. Os “latchs” são um
mecanismo de serialização usado para acesso de um “thread” nas estruturas
internas do banco de dados. Os “latchs” devem ser verificados por seus
processos.
23)
Segment
Section: Esta seção é importante para a verificação das contenções no banco de
dados. Eventos de espera - TOP 5.
- Segments
by Logical Reads: Inclui os segmentos com maior número de leituras lógicas (logical
disk reads).
- Segments
by Physical Reads: Inclui os segmentos com alto número de leituras físicas (physical
disk reads).
- Segments
by Buffer Busy Waits: Apresenta os segmentos com o maior número de espera por “buffers”,
causado pelo acesso dos blocos de dados.
- Segments
by Row Lock Waits: Inclui os segmentos que possuem um grande número de
bloqueios de linha em seus dados.
- Segments
by ITL Waits:
Inclui os segmentos que tem grande contenção (ITL). A contenção de ITL (Interested
Transaction List) que pode ser reduzida aumentando INITRANS parâmetro de
armazenamento da tabela.
24)
Dictionary
Cache Stats: Esta seção apresenta os detalhes sobre o funcionamento do
dicionário de cache.
25)
Library
Cache Activity: Inclui as estatísticas da “library cache” que estão sendo
utilizadas nos eventos de espera TOP 5. Pode-se verificar se as recargas ou invalidações
estão causando contenções ou se há algum outro problema com a “library cache”.
26)
SGA
Memory Summary: Essa seção apresenta os resumos de utilização de memória da SGA.
Este indicador define o valor mínimo para cada um, quando o parâmetro
SGA_TARGET está sendo usado.
27) Init.ora Parameters: Esta
seção mostra os parâmetros que estão configurados para o banco de dados.
MSc.
Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com