|
Parte 1 – Introdução à
arquitetura do Oracle:
Estrutura física do banco de dados. Organização
das estruturas de memória. ASMM. Shared Pool. Áreas
compartilhadas para comandos SQL. PGA. Conexão
a uma instância. Fases do processamento de um comando
SQL. Processando o commit. Funções do query
optimizer. As causas mais relevantes de prejuízo
à performance.
Parte 2 – Estabelecendo uma metodologia
para o tuning:
Fatores que devem ser considerados. Os objetivos
do tuning. Visão geral do tuning de SQL. Identificando
os comandos SQL de maior impacto sobre a performance.
Passos para o tuning manual. Coletando estatísticas
para o optimizer. Revisando o plano de execução.
Restruturando um comando SQL. Reestruturando índices.
Tuning de SQL automático. SQL Tuning advisor. SQL
Access advisor.
Parte 3 – Projetando e desenvolvendo visando
a performance:
Conceito de escalabilidade. Uma metodologia de
tuning proativa. Simplificando o projeto das aplicações.
Projetando tabelas. Projetando índices. Uso de
views. A importância do compartilhamento de cursores.
Escrevendo SQL para compartilhar cursores. Parâmetros
que influenciam o compartilhamento de cursores.
Parte 4 – Introdução ao optimizer:
O que é o optimizer. Funções do optimizer.
Conceito de seletividade. Conceitos de cardinalidade e
custo. Estatísticas para o optimizer e o dicionário
de dados. Controlando o comportamento do optimizer. Otimizando
comandos SQL. Trajetórias de acesso. Métodos
de join.
Parte 5 – Operações do optimizer:
Como o optimizer executa comandos. Escolhendo uma trajetória
de acesso. Full table scan. ROWID scan. Index scan. Fazendo
join de várias tabelas. Terminologia utilizada
no join. Regras de ordenamento utilizadas no join. Otimizando
um join. Métodos de join. Nested loop join. Hash
join. Sort-merge join. Como o optimizer escolhe o plano
de execução de um join. Operações
de sort. Tuning nas operações de sort.
|
Parte 6 – Planos de execução:
O que é plano de execução. Métodos
utilizados para visualizar o plano de execução.
Comando EXPLAIN PLAN. A view V$SQL_PLAN. AWR-Automatic
Workload Repository. Fazendo trace a partir do SQL*Plus.
Parte 7 – Coletando estatísticas:
O que são as estatísticas do optimizer.
Tipos de estatística. Como as estatísticas
são coletadas. Coleta automática de estatística.
Coleta manual de estatística. Monitorando comandos
DML. Amostragem. Paralelismo. Histogramas. Coletando estatísticas
sobre índices. Amostragens dinâmicas. Estatísticas
de tabelas e colunas. Coletando estatísticas sobre
o sistema (I/O e CPU).
Parte 8 – Fazendo trace de aplicações:
Visão geral do trace de aplicações.
Trace de aplicações utilizando o OEM. O
recurso de SQL Trace. Utilitário TKPROF. Habilitando
o SQL Trace. Parâmetros de inicialização
que influenciam o SQL Trace. Analisando o resultado do
TKPROF.
Parte 9 – Identificando os comandos SQL de maior
consumo de recursos:
ADDM. Identificação manual. Identificação
utilizando OEM. O utilitário STATSPACK. A view
V$SQLAREA. Identificando a ocorrência de full table
scan.
Parte 10 – Uso de índices:
Regras gerais para a utilização
de índices. Tipos de índices. Quando indexar.
Efeito dos índices sobre as operações
de DML. Índices e restrições de integridade.
Índices e chaves estrangeiras. Métodos de
acesso utilizando índices. Identificando índices
sem uso. Índices compostos. Quando utilizar índices
do tipo bitmap. Índices baseados em função.
IOT-Index Organized Tables.
Parte 11 – Hints:
O que é o hint. Especificando hints. Regras
para o uso de hints. Sintaxe para uso do hint no comando
SELECT. Diferentes tipos de hint e sua utilização.
Parte 12 – Materialized views:
O que é a materialized view. Benefícios
do uso de materialized views. Criando uma mview. Tipos
de mview. Métodos de refresh. Modos de refresh.
Uso do package DBMS_REFRESH para o refresh manual.
|