SlideShare uma empresa Scribd logo
1 de 82
05 de Agosto de 2017, São Paulo, Brasil
DBA Day-by-Day: ASH, AWR, SQL Trace and Wait Events
Marcus Vinicius Miguel Pedro
05 de Agosto de 2017, São Paulo, Brasil
Agenda
• Speaker
• Tuning
• Como?
• Quando?
• Onde?
• Exemplos
• Q&A
• Contatos
05 de Agosto de 2017, São Paulo, Brasil
Marcus Vinicius Miguel Pedro
• Blog: www.viniciusdba.com.br;
• 21 anos de experiência em T.I.;
• 12 anos de experiência como DBA Oracle;
• Conselheiro Técnico do GUOB;
• Palestrante em eventos do GUOB, IFSP, Fatec e outras Universidades;
• Líder do Oracle RAC SIG na América Latina;
• Trabalha como DBA Oracle na Oracle Corporation, pela equipe de ACS – Advanced Customer Support Services;
• Líder de LAD para o Global Virtual Team de Database;
• Foi DBA Oracle na Discover por 7 anos e Gerente de Operações por 2 anos;
• Atuação nos principais clientes dos mais diversos tipos de indústrias no Brasil;
• Foi professor das disciplinas: Arquitetura e Administração de BD; Backup; Alta Disponibilidade do MBA em Banco
de Dados Oracle do IBTA de Campinas e São Paulo;
• Certificações:
- Oracle Database 9i Administrator Certified Associate (OCA);
- Oracle Database 9i Administrator Certified Professional (OCP);
- Oracle Database 10g Administrator Certified Professional (OCP);
- Oracle Database 10g: RAC Administrator Certified Expert (OCE);
- Oracle Database 11g Administrator Certified Professional (OCP);
- Oracle Database 11g Certified Implementation Specialist (OCS);
- Oracle Database Cloud Service Operations Certified Associate;
- Oracle Database Cloud Administrator Certified Professional;
- Oracle ACE.
http://apex.oracle.com/pls/otn/f?p=19297:4:1452013536248361::NO:4:P4_ID:2540
05 de Agosto de 2017, São Paulo, Brasil
Métodos de Tuning
Histórico
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• Métricas efetivas de tuning:
• Específicas;
• Mensuráveis;
• Alcançáveis.
O banco de dados tem que responder o mais rápido suficiente!
Tempo é dinheiro!
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• Métricas efetivas de tuning:
• Específicas;
• Mensuráveis;
• Alcançáveis.
O relatório de vendas precisa ser executado em 2 horas.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• Objetivo:
• Minimizar tempo de resposta;
• Melhor consumo de recursos;
• Aumento de throughput;
• Escalabilidade.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
Aplicação escalável
SQL Tuning
Tuning de
Instância/DB
CPU
time
Wait
time
Não haverá ganho
adicionando mais
CPU ou nodes
DB time = DB CPU time + DB wait time
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• O código é novo?
• Sim
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• O código é novo?
• Não
O que mudou?
Há um baseline?
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• Dados de Tuning Coletados:
• Estatísticas Cumulativas:
• Eventos de Espera com informação de tempo;
• Time Model
• Métricas: taxas de estatísticas;
• Amostragem de Estatísticas: Active Session History:
• Estatísticas por sessão;
• Estatísticas por SQL;
• Estatísticas por Serviços;
• Outras dimensões.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• Licenciamento
• Enterprise Edition + Diagnostic Pack: AWR, ASH, DBA_HIST*, etc...;
• Enterprise Edition: Statspack, V$* exceto V$ACTIVE_SESSION_HISTORY;
• Standard Edition: Statspack, V$* exceto V$ACTIVE_SESSION_HISTORY;
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Como?
• Diferenças entre AWR e Statspack:
• O Statspack não possui dados de ASH. No AWR os dados ficam em
DBA_HIST_ACTIVE_SESS_HISTORY;
• O Statspack não armazena histórico para as novas estatísticas de métricas que foram introduzidas
no 10g e podem ser consultadas pelas views-chave do AWR: DBA_HIST_SYSMETRIC_HISTORY e
DBA_HIST_SYSMETRIC_SUMMARY;
• Os snapshots do Statspack precisam ser coletados manualmente. No AWR a coleta dos snapshots
é realizada automaticamente a cada 60 minutos e podem ser alterados se necessário;
• O purge de dados históricos/antigos do Statspack deve ser realizado manualmente. No AWR o
purge é realizado todas as noites automaticamente pelo processo MMON. Por default o MMON tentará
deixar 1 semana de AWR disponível. Se o AWR detectar que há pouco espaço disponível no
tablespace SYSAUX, será realizado um purge automaticamente nos snapshots mais antigos.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Quando?
O tempo todo!
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
Usuário!
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• AWR:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• AWR – Baseline:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• AWR – Purge:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• AWR – Ajustes:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• AWR – Dados:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• ASH – Visão Geral:
• Armazena o histórico do database time;
• Faz amostragens das atividades de sessões no sistema incluindo:
• SQL_ID;
• OBJECT_ID, FILE_ID, BLOCK_ID;
• Evento de espera e parâmetros;
• SID e SERIAL#;
• MODULE e ACTION_NAME;
• Blocking Session;
• Etc.
• Sempre é usado como primeira análise para uma falha no ambiente;
• Não é necessário reproduzir a carga de trabalho.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• ASH – Mecanismo:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• ASH – Exemplo:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• ASH – Como acessar os dados?
• Trace Dump ASH;
• V$ACTIVE_SESSION_HISTORY;
• DBA_HIST_ACTIVE_SESS_HISTORY;
• ASH Report;
• Página de performance do Enterprise Manager;
• ADDM.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• Wait Events – O que são?
• Uma sessão não está em plena execução o tempo todo!
• Toda sessão sempre espera por algum recurso no banco de dados;
• Cada tipo de espera é um evento nomeado no banco de dados;
• No 11gR2 há 1367 eventos de espera;
• No 12cR1 há 1650 eventos de espera;
• Wait Events = Instrumentação no código;
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE
• Pode ser ativado em instância ou sessão;
• Obtém estatísticas de instruções SQL;
• O arquivo pode ser formatado pelo TKPROF.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE – Parâmetros de Inicialização
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE
• Para ativar na instância:
• Para ativar na sessão:
• Para ativar em outra sessão:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE
• Sintaxe tkprof
• Exemplos:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE
• Sintaxe tkprof
• Exemplos:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE
• Extended Trace: 10046 Trace levels
• 0 - no statistics;
• 1 - basic statistics CURSOR, PARSE, EXEC, FETCH ERROR, SORT UMAP, ERROR, UMAP, STATS
and XCTEND. O mesmo que sql_trace=true;
• 4 – Mesmo que o level 1 exceto por adicionar a seção de BIND;
• 8 – Mesmo que o level 1, incluindo wait events;
•12 – Combina todos os níveis.
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE
• Extended Trace, com ORADEBUG:
05 de Agosto de 2017, São Paulo, Brasil
Tuning – Onde?
• SQL TRACE
• Extended Trace, com ORADEBUG:
05 de Agosto de 2017, São Paulo, Brasil
AWR
Exemplos
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
Pergunta:
É possível afirmar que está
ruim?
05 de Agosto de 2017, São Paulo, Brasil
AWR
Comparativo
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
Pergunta do Milhão:
Algo mudou?
05 de Agosto de 2017, São Paulo, Brasil
DBA_HIST*
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR – DBA_HIST_SQLSTAT
•
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
AWR
05 de Agosto de 2017, São Paulo, Brasil
ASH
Exemplos
05 de Agosto de 2017, São Paulo, Brasil
ASH
http://blog.tanelpoder.com/files/scripts/ash/dashtop.sql
05 de Agosto de 2017, São Paulo, Brasil
ASH
@dashtop "session_state,event,sql_id,sql_plan_hash_value" "session_type='FOREGROUND'" "TO_TIMESTAMP('01-08-2017
15:00:00', 'DD-MM-YYYY HH24:MI:SS')" "TO_TIMESTAMP('01-08-2017 15:20:00', 'DD-MM-YYYY HH24:MI:SS')"
05 de Agosto de 2017, São Paulo, Brasil
ASH
05 de Agosto de 2017, São Paulo, Brasil
ASH
05 de Agosto de 2017, São Paulo, Brasil
ASH
05 de Agosto de 2017, São Paulo, Brasil
ASH
05 de Agosto de 2017, São Paulo, Brasil
ASH
@dashtop "session_state,event,sql_id,sql_plan_hash_value" "session_type='FOREGROUND'" "TO_TIMESTAMP('02-08-2017
15:00:00', 'DD-MM-YYYY HH24:MI:SS')" "TO_TIMESTAMP('02-08-2017 15:20:00', 'DD-MM-YYYY HH24:MI:SS')"
05 de Agosto de 2017, São Paulo, Brasil
ASH
Mesmo intervalo de tempo: 9:00 às 18:00
05 de Agosto de 2017, São Paulo, Brasil
ASH – Drill Down
@dashtop "session_state,event" "session_type='FOREGROUND'" "TO_TIMESTAMP('01-08-2017 09:15:00', 'DD-MM-YYYY
HH24:MI:SS')" "TO_TIMESTAMP('01-08-2017 12:15:00', 'DD-MM-YYYY HH24:MI:SS')"
05 de Agosto de 2017, São Paulo, Brasil
ASH – Drill Down
@dashtop "session_state,sql_id" "event='db file sequential read'" "TO_TIMESTAMP('01-08-2017 09:15:00', 'DD-MM-YYYY
HH24:MI:SS')" "TO_TIMESTAMP('01-08-2017 12:15:00', 'DD-MM-YYYY HH24:MI:SS')"
05 de Agosto de 2017, São Paulo, Brasil
SQL Trace
Exemplo
05 de Agosto de 2017, São Paulo, Brasil
SQL Trace - TKPROF
05 de Agosto de 2017, São Paulo, Brasil
Wait Events
Exemplo
05 de Agosto de 2017, São Paulo, Brasil
Wait Events
05 de Agosto de 2017, São Paulo, Brasil
Wait Events
05 de Agosto de 2017, São Paulo, Brasil
Perguntas?
05 de Agosto de 2017, São Paulo, Brasil
Contatos
blog@viniciusdba.com.br
twitter.com/viniciusdba
facebook.com/viniciusdba
05 de Agosto de 2017, São Paulo, Brasil
Obrigado!

Mais conteúdo relacionado

Semelhante a 2017 - GUOB Tech Day / OTN Tour LAD - Tuning DBA Day-by-Day

Planejamento, Execução e Controle de Projetos (10/03/2015)
Planejamento, Execução e Controle de Projetos (10/03/2015)Planejamento, Execução e Controle de Projetos (10/03/2015)
Planejamento, Execução e Controle de Projetos (10/03/2015)Alessandro Almeida
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataAmazon Web Services LATAM
 
Power BI RoadShow #5 - Vila Velha/ES - Azure e Power BI
Power BI RoadShow #5 - Vila Velha/ES - Azure e Power BIPower BI RoadShow #5 - Vila Velha/ES - Azure e Power BI
Power BI RoadShow #5 - Vila Velha/ES - Azure e Power BIDirceu Resende
 
Data Cleansing SAP ERP - Metodologia passo-a-passo
Data Cleansing SAP ERP - Metodologia passo-a-passoData Cleansing SAP ERP - Metodologia passo-a-passo
Data Cleansing SAP ERP - Metodologia passo-a-passoJOSUE DIAS
 
Metodologia Ágil para Projetos de BI - Pentaho Day
Metodologia Ágil para Projetos de BI - Pentaho DayMetodologia Ágil para Projetos de BI - Pentaho Day
Metodologia Ágil para Projetos de BI - Pentaho DayMarco Garcia
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
SITBRAZIL 2011 - (PT) Usabilidade em Programas ABAP
SITBRAZIL 2011 - (PT) Usabilidade em Programas ABAPSITBRAZIL 2011 - (PT) Usabilidade em Programas ABAP
SITBRAZIL 2011 - (PT) Usabilidade em Programas ABAPMauricio Cruz
 
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...Cleiton Luis Mafra
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftAmazon Web Services LATAM
 
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018Renato Groff
 
Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01Alan Carlos
 
Cursos Agile Think - Kanban - 3/4
Cursos Agile Think - Kanban - 3/4Cursos Agile Think - Kanban - 3/4
Cursos Agile Think - Kanban - 3/4Agile Think® Share
 

Semelhante a 2017 - GUOB Tech Day / OTN Tour LAD - Tuning DBA Day-by-Day (16)

Planejamento, Execução e Controle de Projetos (10/03/2015)
Planejamento, Execução e Controle de Projetos (10/03/2015)Planejamento, Execução e Controle de Projetos (10/03/2015)
Planejamento, Execução e Controle de Projetos (10/03/2015)
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Power BI RoadShow #5 - Vila Velha/ES - Azure e Power BI
Power BI RoadShow #5 - Vila Velha/ES - Azure e Power BIPower BI RoadShow #5 - Vila Velha/ES - Azure e Power BI
Power BI RoadShow #5 - Vila Velha/ES - Azure e Power BI
 
Data Cleansing SAP ERP - Metodologia passo-a-passo
Data Cleansing SAP ERP - Metodologia passo-a-passoData Cleansing SAP ERP - Metodologia passo-a-passo
Data Cleansing SAP ERP - Metodologia passo-a-passo
 
Metodologia Ágil para Projetos de BI - Pentaho Day
Metodologia Ágil para Projetos de BI - Pentaho DayMetodologia Ágil para Projetos de BI - Pentaho Day
Metodologia Ágil para Projetos de BI - Pentaho Day
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
SITBRAZIL 2011 - (PT) Usabilidade em Programas ABAP
SITBRAZIL 2011 - (PT) Usabilidade em Programas ABAPSITBRAZIL 2011 - (PT) Usabilidade em Programas ABAP
SITBRAZIL 2011 - (PT) Usabilidade em Programas ABAP
 
Método Ágil no desenvolvimento de Software
Método Ágil no desenvolvimento de SoftwareMétodo Ágil no desenvolvimento de Software
Método Ágil no desenvolvimento de Software
 
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon Redshift
 
TechEd_OFC305
TechEd_OFC305TechEd_OFC305
TechEd_OFC305
 
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
Dicas para uma maior performance em APIs REST - DEVPIRA Festival - Dezembro-2018
 
Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01
 
Cursos Agile Think - Kanban - 3/4
Cursos Agile Think - Kanban - 3/4Cursos Agile Think - Kanban - 3/4
Cursos Agile Think - Kanban - 3/4
 

Mais de Marcus Vinicius Miguel Pedro

2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...
2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...
2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...Marcus Vinicius Miguel Pedro
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to CloudMarcus Vinicius Miguel Pedro
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...Marcus Vinicius Miguel Pedro
 
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational DatabasesMarcus Vinicius Miguel Pedro
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018 - Tuning DBA ...
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018  - Tuning DBA ...2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018  - Tuning DBA ...
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018 - Tuning DBA ...Marcus Vinicius Miguel Pedro
 
2013 - GUOB Tech Day / OTN Tour LAD - Installation Prereqs
2013 - GUOB Tech Day / OTN Tour LAD - Installation Prereqs2013 - GUOB Tech Day / OTN Tour LAD - Installation Prereqs
2013 - GUOB Tech Day / OTN Tour LAD - Installation PrereqsMarcus Vinicius Miguel Pedro
 
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended ClustersMarcus Vinicius Miguel Pedro
 

Mais de Marcus Vinicius Miguel Pedro (14)

2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...
2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...
2020 - GUOB Tech Day / Groundbreakers LAD Tour - How to Create an AutoScale C...
 
2020 - OCI Key Concepts for Oracle DBAs
2020 - OCI Key Concepts for Oracle DBAs2020 - OCI Key Concepts for Oracle DBAs
2020 - OCI Key Concepts for Oracle DBAs
 
2019 - COMPUFAJ - DBA Career and Cloud
2019 - COMPUFAJ - DBA Career and Cloud2019 - COMPUFAJ - DBA Career and Cloud
2019 - COMPUFAJ - DBA Career and Cloud
 
2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud2019 - OOW - Database Migration Methods from On-Premise to Cloud
2019 - OOW - Database Migration Methods from On-Premise to Cloud
 
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
2019 - GUOB Tech Day / Groundbreakers LAD Tour - Database Migration Methods t...
 
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018 - Tuning DBA ...
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018  - Tuning DBA ...2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018  - Tuning DBA ...
2018 - GUOB Tech Day /Oracle Developer Community LAD Tour 2018 - Tuning DBA ...
 
2015 - PUC Campinas - DBA Career
2015 - PUC Campinas - DBA Career2015 - PUC Campinas - DBA Career
2015 - PUC Campinas - DBA Career
 
2015 - IFSP Boituva - DBA Career
2015 - IFSP Boituva - DBA Career2015 - IFSP Boituva - DBA Career
2015 - IFSP Boituva - DBA Career
 
2014 - IFSP Votuporanga - DBA Career
2014 - IFSP Votuporanga - DBA Career2014 - IFSP Votuporanga - DBA Career
2014 - IFSP Votuporanga - DBA Career
 
2013 - GUOB Tech Day / OTN Tour LAD - Installation Prereqs
2013 - GUOB Tech Day / OTN Tour LAD - Installation Prereqs2013 - GUOB Tech Day / OTN Tour LAD - Installation Prereqs
2013 - GUOB Tech Day / OTN Tour LAD - Installation Prereqs
 
2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database2012 - Veris - DBA Career and Oracle Database
2012 - Veris - DBA Career and Oracle Database
 
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
 

Último

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 

Último (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

2017 - GUOB Tech Day / OTN Tour LAD - Tuning DBA Day-by-Day

  • 1. 05 de Agosto de 2017, São Paulo, Brasil DBA Day-by-Day: ASH, AWR, SQL Trace and Wait Events Marcus Vinicius Miguel Pedro
  • 2. 05 de Agosto de 2017, São Paulo, Brasil Agenda • Speaker • Tuning • Como? • Quando? • Onde? • Exemplos • Q&A • Contatos
  • 3. 05 de Agosto de 2017, São Paulo, Brasil Marcus Vinicius Miguel Pedro • Blog: www.viniciusdba.com.br; • 21 anos de experiência em T.I.; • 12 anos de experiência como DBA Oracle; • Conselheiro Técnico do GUOB; • Palestrante em eventos do GUOB, IFSP, Fatec e outras Universidades; • Líder do Oracle RAC SIG na América Latina; • Trabalha como DBA Oracle na Oracle Corporation, pela equipe de ACS – Advanced Customer Support Services; • Líder de LAD para o Global Virtual Team de Database; • Foi DBA Oracle na Discover por 7 anos e Gerente de Operações por 2 anos; • Atuação nos principais clientes dos mais diversos tipos de indústrias no Brasil; • Foi professor das disciplinas: Arquitetura e Administração de BD; Backup; Alta Disponibilidade do MBA em Banco de Dados Oracle do IBTA de Campinas e São Paulo; • Certificações: - Oracle Database 9i Administrator Certified Associate (OCA); - Oracle Database 9i Administrator Certified Professional (OCP); - Oracle Database 10g Administrator Certified Professional (OCP); - Oracle Database 10g: RAC Administrator Certified Expert (OCE); - Oracle Database 11g Administrator Certified Professional (OCP); - Oracle Database 11g Certified Implementation Specialist (OCS); - Oracle Database Cloud Service Operations Certified Associate; - Oracle Database Cloud Administrator Certified Professional; - Oracle ACE. http://apex.oracle.com/pls/otn/f?p=19297:4:1452013536248361::NO:4:P4_ID:2540
  • 4. 05 de Agosto de 2017, São Paulo, Brasil Métodos de Tuning Histórico
  • 5. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • Métricas efetivas de tuning: • Específicas; • Mensuráveis; • Alcançáveis. O banco de dados tem que responder o mais rápido suficiente! Tempo é dinheiro!
  • 6. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • Métricas efetivas de tuning: • Específicas; • Mensuráveis; • Alcançáveis. O relatório de vendas precisa ser executado em 2 horas.
  • 7. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • Objetivo: • Minimizar tempo de resposta; • Melhor consumo de recursos; • Aumento de throughput; • Escalabilidade.
  • 8. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como?
  • 9. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? Aplicação escalável SQL Tuning Tuning de Instância/DB CPU time Wait time Não haverá ganho adicionando mais CPU ou nodes DB time = DB CPU time + DB wait time
  • 10. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • O código é novo? • Sim
  • 11. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • O código é novo? • Não O que mudou? Há um baseline?
  • 12. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • Dados de Tuning Coletados: • Estatísticas Cumulativas: • Eventos de Espera com informação de tempo; • Time Model • Métricas: taxas de estatísticas; • Amostragem de Estatísticas: Active Session History: • Estatísticas por sessão; • Estatísticas por SQL; • Estatísticas por Serviços; • Outras dimensões.
  • 13. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • Licenciamento • Enterprise Edition + Diagnostic Pack: AWR, ASH, DBA_HIST*, etc...; • Enterprise Edition: Statspack, V$* exceto V$ACTIVE_SESSION_HISTORY; • Standard Edition: Statspack, V$* exceto V$ACTIVE_SESSION_HISTORY;
  • 14. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Como? • Diferenças entre AWR e Statspack: • O Statspack não possui dados de ASH. No AWR os dados ficam em DBA_HIST_ACTIVE_SESS_HISTORY; • O Statspack não armazena histórico para as novas estatísticas de métricas que foram introduzidas no 10g e podem ser consultadas pelas views-chave do AWR: DBA_HIST_SYSMETRIC_HISTORY e DBA_HIST_SYSMETRIC_SUMMARY; • Os snapshots do Statspack precisam ser coletados manualmente. No AWR a coleta dos snapshots é realizada automaticamente a cada 60 minutos e podem ser alterados se necessário; • O purge de dados históricos/antigos do Statspack deve ser realizado manualmente. No AWR o purge é realizado todas as noites automaticamente pelo processo MMON. Por default o MMON tentará deixar 1 semana de AWR disponível. Se o AWR detectar que há pouco espaço disponível no tablespace SYSAUX, será realizado um purge automaticamente nos snapshots mais antigos.
  • 15. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Quando? O tempo todo!
  • 16. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? Usuário!
  • 17. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • AWR:
  • 18. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • AWR – Baseline:
  • 19. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • AWR – Purge:
  • 20. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • AWR – Ajustes:
  • 21. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • AWR – Dados:
  • 22. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • ASH – Visão Geral: • Armazena o histórico do database time; • Faz amostragens das atividades de sessões no sistema incluindo: • SQL_ID; • OBJECT_ID, FILE_ID, BLOCK_ID; • Evento de espera e parâmetros; • SID e SERIAL#; • MODULE e ACTION_NAME; • Blocking Session; • Etc. • Sempre é usado como primeira análise para uma falha no ambiente; • Não é necessário reproduzir a carga de trabalho.
  • 23. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • ASH – Mecanismo:
  • 24. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • ASH – Exemplo:
  • 25. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • ASH – Como acessar os dados? • Trace Dump ASH; • V$ACTIVE_SESSION_HISTORY; • DBA_HIST_ACTIVE_SESS_HISTORY; • ASH Report; • Página de performance do Enterprise Manager; • ADDM.
  • 26. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • Wait Events – O que são? • Uma sessão não está em plena execução o tempo todo! • Toda sessão sempre espera por algum recurso no banco de dados; • Cada tipo de espera é um evento nomeado no banco de dados; • No 11gR2 há 1367 eventos de espera; • No 12cR1 há 1650 eventos de espera; • Wait Events = Instrumentação no código;
  • 27. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE • Pode ser ativado em instância ou sessão; • Obtém estatísticas de instruções SQL; • O arquivo pode ser formatado pelo TKPROF.
  • 28. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE – Parâmetros de Inicialização
  • 29. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE • Para ativar na instância: • Para ativar na sessão: • Para ativar em outra sessão:
  • 30. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE • Sintaxe tkprof • Exemplos:
  • 31. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE • Sintaxe tkprof • Exemplos:
  • 32. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE • Extended Trace: 10046 Trace levels • 0 - no statistics; • 1 - basic statistics CURSOR, PARSE, EXEC, FETCH ERROR, SORT UMAP, ERROR, UMAP, STATS and XCTEND. O mesmo que sql_trace=true; • 4 – Mesmo que o level 1 exceto por adicionar a seção de BIND; • 8 – Mesmo que o level 1, incluindo wait events; •12 – Combina todos os níveis.
  • 33. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE • Extended Trace, com ORADEBUG:
  • 34. 05 de Agosto de 2017, São Paulo, Brasil Tuning – Onde? • SQL TRACE • Extended Trace, com ORADEBUG:
  • 35. 05 de Agosto de 2017, São Paulo, Brasil AWR Exemplos
  • 36. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 37. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 38. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 39. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 40. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 41. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 42. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 43. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 44. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 45. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 46. 05 de Agosto de 2017, São Paulo, Brasil Pergunta: É possível afirmar que está ruim?
  • 47. 05 de Agosto de 2017, São Paulo, Brasil AWR Comparativo
  • 48. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 49. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 50. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 51. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 52. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 53. 05 de Agosto de 2017, São Paulo, Brasil Pergunta do Milhão: Algo mudou?
  • 54. 05 de Agosto de 2017, São Paulo, Brasil DBA_HIST*
  • 55. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 56. 05 de Agosto de 2017, São Paulo, Brasil AWR – DBA_HIST_SQLSTAT •
  • 57. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 58. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 59. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 60. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 61. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 62. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 63. 05 de Agosto de 2017, São Paulo, Brasil AWR
  • 64. 05 de Agosto de 2017, São Paulo, Brasil ASH Exemplos
  • 65. 05 de Agosto de 2017, São Paulo, Brasil ASH http://blog.tanelpoder.com/files/scripts/ash/dashtop.sql
  • 66. 05 de Agosto de 2017, São Paulo, Brasil ASH @dashtop "session_state,event,sql_id,sql_plan_hash_value" "session_type='FOREGROUND'" "TO_TIMESTAMP('01-08-2017 15:00:00', 'DD-MM-YYYY HH24:MI:SS')" "TO_TIMESTAMP('01-08-2017 15:20:00', 'DD-MM-YYYY HH24:MI:SS')"
  • 67. 05 de Agosto de 2017, São Paulo, Brasil ASH
  • 68. 05 de Agosto de 2017, São Paulo, Brasil ASH
  • 69. 05 de Agosto de 2017, São Paulo, Brasil ASH
  • 70. 05 de Agosto de 2017, São Paulo, Brasil ASH
  • 71. 05 de Agosto de 2017, São Paulo, Brasil ASH @dashtop "session_state,event,sql_id,sql_plan_hash_value" "session_type='FOREGROUND'" "TO_TIMESTAMP('02-08-2017 15:00:00', 'DD-MM-YYYY HH24:MI:SS')" "TO_TIMESTAMP('02-08-2017 15:20:00', 'DD-MM-YYYY HH24:MI:SS')"
  • 72. 05 de Agosto de 2017, São Paulo, Brasil ASH Mesmo intervalo de tempo: 9:00 às 18:00
  • 73. 05 de Agosto de 2017, São Paulo, Brasil ASH – Drill Down @dashtop "session_state,event" "session_type='FOREGROUND'" "TO_TIMESTAMP('01-08-2017 09:15:00', 'DD-MM-YYYY HH24:MI:SS')" "TO_TIMESTAMP('01-08-2017 12:15:00', 'DD-MM-YYYY HH24:MI:SS')"
  • 74. 05 de Agosto de 2017, São Paulo, Brasil ASH – Drill Down @dashtop "session_state,sql_id" "event='db file sequential read'" "TO_TIMESTAMP('01-08-2017 09:15:00', 'DD-MM-YYYY HH24:MI:SS')" "TO_TIMESTAMP('01-08-2017 12:15:00', 'DD-MM-YYYY HH24:MI:SS')"
  • 75. 05 de Agosto de 2017, São Paulo, Brasil SQL Trace Exemplo
  • 76. 05 de Agosto de 2017, São Paulo, Brasil SQL Trace - TKPROF
  • 77. 05 de Agosto de 2017, São Paulo, Brasil Wait Events Exemplo
  • 78. 05 de Agosto de 2017, São Paulo, Brasil Wait Events
  • 79. 05 de Agosto de 2017, São Paulo, Brasil Wait Events
  • 80. 05 de Agosto de 2017, São Paulo, Brasil Perguntas?
  • 81. 05 de Agosto de 2017, São Paulo, Brasil Contatos blog@viniciusdba.com.br twitter.com/viniciusdba facebook.com/viniciusdba
  • 82. 05 de Agosto de 2017, São Paulo, Brasil Obrigado!