Versão:
10g
Público:
Administradores de Banco de Dados; Administradores de Sistemas; Profissionais de Suporte Técnico.
Pré-requisitos obrigatórios:
Introdução ao Oracle 10g ( IOR ); Administração do Oracle 10g - Pate A ( ADMA ) ; Administração do Oracle 10g - Parte B ( ADMB ).
Pré-requisitos recomendados:
Nenhum.
Objetivos:
Este curso apresentará aos participantes uma série de etapas de otimização que poderão ser utilizadas para melhorar a performance do banco de dados Oracle. O enfoque é dado à otimização de Banco de Dados e também dos comandos utilizados por aplicações. Os participantes irão adquirir experiência prática otimizando um banco de dados Oracle. Ao utilizar as ferramentas disponíveis, eles também aprendem a reconhecer, analisar e encontrar soluções para problemas comuns de performance na administração de um banco de dados. Técnicas como o uso de Hints, ferramentas para avaliação de performance, serão apresentadas bem como novos recursos de tuning automático.
Conteúdo programático
Introdução Objetivos Objetivos do Curso Planejamento de Performance Tuning de Instância Tuning de SQL Princípios de Performance Linhas de Base Sintomas e Problemas Quando Realizar Tuning Monitoração Pró-Ativa Eliminação de Gargalos Otimização de Queries e Planos de Execução Recursos Automáticos de Performance Tuning
Design e Desenvolvimento de Performance Objetivos Metodologia Oracle Opções de Investimento Escalabilidade Arquitetura de Sistema Princípios de Design de Aplicação Testes de Carga, Modelagem e Implementação Desenvolvendo Novas Aplicações
Métodos de Melhora de Performance Objetivos Método Oracle de Melhora de Performance Passos do Método Oracle Exemplo de Decisão Processual Dez Erros dos Sistemas Oracle Método Emergencial de Performance Passos do Método Emergencial
Configurando o Banco de Dados com Performance Objetivos Considerações Iniciais Parâmetros de Inicialização Configurando o Espaço de UNDO Dimensionando os Redo Logs File Criando Tablespaces Criando e Mantendo Tabelas Compressão de Tabelas Espaço Não Utilizado Indexando Dados Considerações para Servidores Compartilhados Contenções De Dispatchers Contenções De Servidores Compartilhados
Estatísticas Automáticas de Performance Objetivos Visão Geral de Coleta de Estatísticas Estatísticas de Banco de Dados Estatísticas de Sistema Operacional Interpretando Estatísticas AWR (Automatic Workload Repository) Acessando o AWR com Enterprise Manager Gerenciando Snapshot Visões do AWR Relatórios do AWR
Diagnóstico Automático de Performance Objetivos Monitoração Diagnóstica de Banco de Dados Automatic Database Diagnostic Monitor (ADDM) Analise de Resultados ADDM Exemplo de ADDM Configurando o ADDM Acessando o ADDM com Enterprise Manager Identificando Problemas de Performance com ADDM Visões do ADDM
Configuração e Utilização de Memória Objetivos Entendendo Problemas de Alocação de Memória Caches de Memória Oracle Gerenciamento Automático de Memória Compartilhada Alterando Dinamicamente o Tamanho dos Caches Considerações de Aplicação Memória Utilizada pelo Sistema Operacional Interações Durante a Configuração Configurando e Utilizando o Buffer Cache Utilizando Efetivamente o Buffer Cache Dimensionando o Buffer Cache Estatísticas de Buffer Cache Considerando Diversos Buffers Pools Buffer Pool Data ? V$DB_CACHE_ADVICE Buffer Pool Hit Ratios Determinando Segmentos com Diversos Buffers KEEP Pool Shared Pool e Large Pool Conceitos de Shared Pool Utilizando Efetivamente o Shared Pool Dimensionando o Shared Pool Estatísticas do Shared Pool Utilizando o Large Pool Utilizando CURSOR_SPACE_FOR_TIME Cache de Cursores Configurando o Reserved Pool Mantendo Grandes Objetos CURSOR_SHARING Mantendo Conexões Configurando o Redo Log Buffer Dimensionando o Log Buffer Estatísticas do Log Buffer Gerenciamento de Memória PGA Configurando Automaticamente a PGA OLAP_PAGE_POOL_SIZE
Design e Configuração de I/O Objetivos Entendendo I/O Configuração Básica de I/O Layout de Arquivo Utilizando SO ou Hardware Distribuindo o I/O Manualmente Quando Separar os Arquivos Exemplos de Configurações OMF (Oracle Managed Files) Escolhendo o Tamanho do Bloco
Entendendo Recursos do Sistema Operacional Objetivos Problemas de Performance do SO Utilizando Cache do SO Utilização de Memória Resolvendo Problemas do SO Dicas de Performance ? UNIX Dicas de Performance ? Windows Dicas de Performance ? Mainframe Entendendo a CPU Utilização de CPU pelo SO Checando as Configurações de Memória Checando as Configurações de Rede Checando as Configurações de Processos
Tuning de Instância Utilizando Visões de Performance Objetivos Passos para Tuning de Instância Definindo o Problema Examinando o Servidor Examinando as Estatísticas Oracle Implementando e Medindo Alterações Interpretando as Estatísticas Oracle Examinando a Carga Utilizando Estatísticas de Eventos de Espera Tabela de Eventos de Espera Estatísticas Adicionais Estatísticas de Eventos de Espera Eventos de Espera Ociosos
Tuning de SQL Objetivos Introdução ao Tuning de SQL Objetivos do Tuning Identificando SQL Pesados Recursos Automáticos de Tuning de SQL Desenvolvendo Instruções SQL Eficientes Verificando o Otimizador de Queries Revendo o Plano de Execução Reestruturando as Instruções SQL Controlando o Caminho de Acesso e Ordem dos Joins Reestruturando os Índices Modificando ou Desabilitando Triggers e Constraints Reestruturando os Dados Mantendo os Planos de Execuções Solicitando Dados o Menor Nùmero de Vezes Possível
Tuning de SQL Automático Objetivos Visão Geral de Tuning de SQL Automático Modos de Otimização de Queries Tipos de Análises de Tuning SQL Tuning Advisor Origem de INPUT Opções de Tuning Conselhos de Saída Acessando o SQL Tuning Advisor com Enterprise Manager Utilizando API´s do SQL Tuning Advisor Grupos de Tuning de SQL Usando Grupos de Tuning de SQL com Enterprise Manager Usando Grupos de Tuning de SQL com API´s SQL Profile Aceitando um SQL Profile Alterando um SQL Profile Excluindo um SQL Profile Visões de Tuning de SQL
Otimizador de Queries Objetivos Operações de Otimização Escolhendo um Objetivo de Otimização Parâmetro de Inicialização OPTIMIZER_MODE HINTS de Otimização SQL Estatísticas do Otimizador de Queries Habilitando e Controlando o Otimizador de Queries Controlando o Comportamento do Otimizador de Queries Entendendo o Otimizador de Queries Componentes do Otimizador de Queries Lendo e Entendendo os Planos de Execuções Entendendo os Caminhos de Acessos FULL TABLE SCAN ROWID SCAN INDEX SCAN CLUSTER ACCESS HASH ACCESS Exemplo de TABLE SCAN Como o Otimizador Escolhe o Caminho de Acesso Entendendo JOINS Como o Otimizador Executa Instruções de JOIN NESTED LOOP JOINS HASH JOINS SORT MERGE JOINS CARTESIAN JOINS OUTER JOINS
Otimização de Estatísticas Objetivos Entendendo Estatísticas Coleta Automática de Estatísticas GATHER_STATS_JOB Habilitando a Coleta Automática de Estatísticas Considerações da Coleta de Estatísticas Coletando Estatísticas Manualmente Restaurando Versões Anteriores de Estatísticas Bloqueando Estatísticas DBMS_STATS Quando Coletar Estatísticas Estatísticas de Sistema Gerenciando Estatísticas Exportando e Importando Estatísticas Fixando Estatísticas para Tabela ou Esquema Definindo Estatísticas Tratando Estatísticas Ausentes Visualizando Estatísticas Estatísticas em Tabelas, Índices e Colunas Visualizando Histogramas
Utilizando Índices e Clusters Objetivos Entendendo Performance de Índice Tuning da Estrutura Lógica Tuning de Índice com o SQL Access Advisor Escolhendo Colunas e Expressões para Indexar Escolhendo a Composição de Índices Escrevendo Instruções que Utilizam Índices Escrevendo Instruções para Evitar Índices Recriando Índices Compactando Índices Utilizando Funções Utilizando Índices Particionados Utilizando IOT´s Utilizando Índices Bitmap Utilizando Índices de Domínio Utilizando Clusters Utilizando HASH Clusters
Otimização de HINTS Objetivos Tipos de HINTS Utilizando o Otimizador de HINTS HINTS para Otimização HINTS para Caminhos de Acesso HINTS para Transformações de Queries HINTS para Operações de JOIN HINTS para Execução Paralela HINTS Adicionais Especificando HINTS Utilizando HINTS com Visões
Utilizando Plano de Execução Objetivos Entendendo o Plano de Execução Como o Plano de Execuções Pode Mudar Minimizando o Throw-Away Olhando Além do Plano de Execução Restrições do Plano de Execução A Tabela PLAN TABLE Executando o Plano de Execução Identificando Instruções Especificando Diferentes Tabelas Exibindo a Saída da PLAN TABLE Customizando a Saída da PLAN TABLE Lendo a Saída da PLAN TABLE Visualizando Índices de Bitmap Colunas da PLAN TABLE
Utilizando Tracing Objetivos Tracing de Aplicação End to End Tracing de Aplicação End to End com Enterprise Manager Gerenciando o Tracing End to End com API?s Utilitário TRCSESS Sintáxe do TRCSESS Exemplo de Saída do TRCSESS Entendendo SQL TRACE e TKPROF Entendendo o SQL TRACE Entendendo o TKPROF Utilizando SQL TRACE e TKPROF Passo 1 - Definindo Parâmetros de Inicialização Passo 2 ? Habilitando o SQL TRACE Passo 3 ? Formatando os Arquivos de Trace com o TKPROF Passo 4 ? Interpretando a Saída do TKPROF Passo 5 ? Armazenando Estatísticas de Trace Exemplo de Saída TKPROF Cabeçalho do TKPROF Corpo do TKPROF |