Índice do fórum Treinamentos Avançados Treinamento Oracle Performance Diagnostics & Tuning AWR Baselines

AWR Baselines

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Performance Diagnostics & Tuning.

Mensagem Seg Jan 30, 2017 4:00 pm

Mensagens: 0
Portilho, qual a vantagem de ser criar Baselines ou Template Baselines se você pode fazer a comparação das SNAPS via AWR direto?

BEGIN
  DBMS_WORKLOAD_REPOSITORY.create_baseline_template(
   day_of_week          => 'ALL',
   hour_in_day          => 7,
   duration             => 12,
   start_time           => SYSDATE,
   end_time             => ADD_MONTHS(SYSDATE, 6),
   baseline_name_prefix => 'Diario_comercial_',
   template_name        => 'Base_Diario_comercial',
   expiration           => NULL);
END;
/


Eu crio um baseline template para coletar das 7h às 19h

Porém, não identifiquei como pegar via AWR a comparação por exemplo, do baseline de "Segunda-feira da primeira semana do mês 1 com Segunda-feira da primeira semana do mês 2".

Tem o select:

SELECT * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.select_baseline_details(3));


Que com o baseline ID ele me trás informações do baseline específico, esse select também:
SELECT metric_name, metric_unit, average, minimum, maximum FROM TABLE(DBMS_WORKLOAD_REPOSITORY.SELECT_BASELINE_METRIC('Segundo Baseline de Teste')) ORDER BY metric_name


Ainda assim, se eu quero comparar, eu preciso executar dois selects, um para cada baseline ID.
Acho mais prático pegar direto via AWR o período que quero comparar, pois trás em um report único e em HTML (melhor visualização).

Existe alguma vantagem em criar os baselines assim? Não identifiquei nenhuma.

Mensagem Ter Jan 31, 2017 9:59 am
portilho Site Admin

Mensagens: 482
Eu acho Baseline mais útil para algo assim:

EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
START_SNAP_ID => 2600,
END_SNAP_ID => 2680,
BASELINE_NAME => 'BEFORE MIGRATION',
EXPIRATION => 365);


Desta forma, eu guardo "como foi o fechamento mensal antes da migração para o novo servidor", ou posso guardar todas as segundas-feiras, por exemplo.
A vantagem seria de que não seria necessário guardar TODOS os snapshots, e sim só os "interessantes". Por exemplo, começa a ficar inviável guardar 1 ano de snapshots.

Para comparar dois períodos (esta segunda-feira e a segunda-feira passada), acho mais fácil utilizar o AWR Compare Periods Report. No exemplo abaixo, eu estou comparando os snapshots 100 a 103 com os 1000 a 1003, que foram guardados graças à Baseline.
@$ORACLE_HOME/rdbms/admin/awrddrpt.sql
Enter value for report_type: html
Enter value for num_days: 2
Enter value for begin_snap: 1000
Enter value for end_snap: 1003
Enter value for num_days2: 30
Enter value for begin_snap2: 100
Enter value for end_snap2: 103
Enter value for report_name: AWR_DIFF_01.html

Mensagem Ter Jan 31, 2017 11:53 am

Mensagens: 0
hum

Então, caso minha retenção de AWR seja de 30 dias e meu baseline de 60, ele vai deletar todos maiores de 30 dias, menos os baselines que estiverem com expiration > 60?
Assim, ele retem apenas o que for realmente importante, certo?

Mensagem Qua Fev 01, 2017 8:10 am
portilho Site Admin

Mensagens: 482
Isso mesmo.
Vai remover automaticamente os snapshots baseados na retenção padrão, exceto os de Baselines. E você pode colocar uma expiração nas Baselines também, ou remove-las manualmente com DROP.

Mensagem Qua Fev 01, 2017 12:31 pm

Mensagens: 0
Legal, boa dica! :D

Mensagem Qui Fev 02, 2017 1:34 pm
portilho Site Admin

Mensagens: 482
:-)


Voltar para Treinamento Oracle Performance Diagnostics & Tuning

cron