- Criar usuário statspack
- select * from stats$level_description order by snap_level;
- pacote StatsPack : utilizado para realizar o snapshot (cada coleta).
- conectar como PERFSTAT
SQL> execute StatsPack.snap;
- Criando relatório
@...RBDMS\admin
“Statspack”
STATSPACK – Definição
- Utilitário para identificar problemas de desempenho no banco de dados
- É necessário instalar em cada banco de dados que será monitorado
- Para instalar é necessário executar scripts
STATSPACK - Instalação
- Script:
- Conectar como SYS
/rdbms/admin/spcreate.sql
- São utilizados os scripts:
- spcusr.sql -> Cria usuário
- spctab.sql -> Cria tabelas e sinônimos
- spcpkg.sql -> Cria pacotes e procedures
- São gerados resultados .lis é interessante analisar os arquivos
- Durante a execução do script é necessário
informar Tablespace Default e Temporary
- Muitos objetos são criados para o usuário
perfstat
- Usuário perfstat possui muitos privilégios
adminstrativos. Cuidado.
- Altere a senha do usuário
STATSPACK - Instalação
- Parâmetro TIMED_STATISTICS = TRUE
- Cada coleta é denominada Snapshot
- 0 a 10 são os níveis da coleta. Quanto maior o
nível mais informações, porém, mais tempo irá
levar para terminar a coleta. Padrão é nível 5.
select * from stats$level_description order by snap_level;
STATSPACK – Pré-Coleta
- Pacote StatsPack: é utilizado para alterar os
parâmetros de coleta
- Alguns parâmetros:
i_snap_level = Nível do snapshot
i_ucomment = Comentário do snapshot
i_modify_parameter = True, salva essas alterações para as próximas coletas
exec statspack.snap ( i_snap_level => 6, i_modify_parameter => 'true‘ );
STATSPACK – Pré-Coleta
- Pacote StatsPack: é utilizado para realizar o
snapshot (cada coleta)
- Conectar como PERFSTAT
SQL> execute StatsPack.snap;
STATSPACK – Coletando Estatísticas
- Analisando quantos Snapshot existem
select name,snap_id,
to_char(snap_time,'DD.MM.YYYY:HH24:MI:SS')
from stats$snapshot;
- Criando o Relatório
@...rdbms\admin\spreport.sql
STATSPACK – Gerando Relatorio
- Abra o arquivo com o resultado
- O Resultado é composto por sessões
- Para chegar a uma conclusão é necessário
analisar um conjunto de informações
STATSPACK – Resultado
- Header
Informações básicas do banco de dados
- Load Profile
Principais cargas existentes
- Top 5 Wait Events
Cinco principais eventos
STATSPACK – Sessions
- Instance Efficiency
O quanto a instância está sendo eficiente
- SQL ordered by Gets
Principais SQL que mais consumiram recurso
- Instance Activity Stats
Comportamento dos eventos executados na
instância como um todo
STATSPACK – Sessions
- Tablespace I/O Stats
Tablespaces mais utilizadas
- Buffer Pool Statistics
Eventos mais detalhados da SGA
- Roolback Segment Stats
Atividades no segmento de rollback
STATSPACK – Sessions
- Latch Activity
Atividades do latch (bloqueios em memória)
- Dictionary Cache Stats
Estatisticas do dicionário de dados e biblioteca
- init.ora Parameters
Exibe os parâmetros do init.ora que estão com
o valor diferente do padrão
STATSPACK – Sessions
STATSPACK – Eliminar Snapshot
- Script:
/rdbms/admin/sppurge.sql
STATSPACK – Dicas
- Os arquivos do Statspack estão no subdiretório
/rdbms/admin e começam com as letras sp.
- Crie um tablespace específico para armazenar o
Statspack
- Mude a senha da conta Perfstat
- Bloqueie esta conta quando você não for
utilizar esse recurso
STATSPACK – Dicas
- Comece com o nível 5 e use um nível maior
para investigar melhor
- Evite coletar um intervalo de informações com
o Statspack quando houve parada do banco
- Após a análise do resultado é interessante
eliminar o snapshot desnecessário
STATSPACK – Dicas
- Fique atendo entre um período e outro,
mudanças bruscas merecem investigação
- Um das principais sessões a ser analisada é a
Top 5 Wait Events
AWR
“Automatic Workload Repository”
AWR – Definição
- Utilitário para identificar problemas de
desempenho no banco de dados
- Os snapshots dos AWR são coletados
automaticamente a cada hora pelo processo de
background MMON.
- Para reduzir o uso de espaço em disco, os
dados coletados são eliminados a cada 7 dias
AWR – Retenção
- Tanto o tempo de retenção quanto a freqüência
de coleta dos snapshots podem ser modificados
pelo usuário
- Para ver as configurações atuais execute:
select snap_interval, retention
from dba_hist_wr_control;
AWR – Recomendação
- Caso esteja usando o relatório do AWR para
detectar gargalos, a recomendação da Oracle é
que cada snapshot seja coletado a cada 15
minutos
- Para alterar o período entre os snapshots para
15 minutos e a retenção para 2 dias basta
executar o comando do próximo slide
- Os parâmetros são especificados em minutos.
AWR – Alterar o intervalo
begin
dbms_workload_repository.modify_snapshot_settings
(
interval => 15,
retention => 2*24*60
);
end;
select snap_interval, retention
from dba_hist_wr_control;
AWR – Coleta Manual
- Além da coleta automática, é possível efetuar a
coleta das estatísticas manualmente
- Para isso basta executar o comando:
execute dbms_workload_repository.create_snapshot
AWR – Tabelas do Dicionário de Dados
- O AWR armazena os dados coletados em várias
tabelas nomeadas por:
o WRM$_* (metadados)
o WRH$_* (histórico)
- Todas são de propriedade do usuário SYS e
ficam na tablespace SYSAUX
AWR – Views do Dicionário de Dados
- Existem várias views de prefixo DBA_HIST_ e
podem ser usadas para que o DBA construa suas
ferramentas de performance
- A lista completa das views pode ser obtida
através do seguinte comando:
select view_name
from user_views
where view_name like 'DBA\_HIST\_%' escape '\';
- Criando o Relatório
@...rdbms\admin\awrrpt.sql
AWR – Gerando Relatório
ADDM
“Automatic Database Diagnostic Monitor”
ADDM– Definição
- Utilitário para identificar problemas de
desempenho
- Indica os possíveis problemas e oferece
sugestões
- Cria relatório através do script
@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\addmrpt.sql
EXERCÍCIOS
Nenhum comentário:
Postar um comentário