- - Oracle Performance Tuning: como melhorar o desempenho do banco de dados

Oracle Performance Tuning: Como melhorar o desempenho do banco de dados

O fraco desempenho do banco de dados Oracle é bastanteinsidioso. Pode ter várias ramificações que geralmente se traduzem em desempenho ruim do aplicativo. Isso pode levar um administrador típico a uma loucura enquanto procura um problema em algum lugar que não seja.

Há apenas uma maneira de garantir que o banco de dados não seja o gargalo dos aplicativos distribuídos em várias camadas: ajustando o desempenho do banco de dados Oracle. Esse será o tópico da postagem de hoje. Nosso objetivo não é fornecer um tutorial detalhado sobre o assunto, mas fornecer informações suficientes para permitir que você escolha a melhor ferramenta possível para ajudá-lo a lidar com essa tarefa aparentemente esmagadora.

Oracle Performance Tuning: Como melhorar o desempenho do banco de dados

Começaremos introduzindo bancos de dados, o que elessão e como eles funcionam. É claro que seremos um pouco mais específicos sobre a Oracle, pois é nosso foco principal hoje. Em seguida, abordaremos o ajuste de desempenho. Vamos explicar o que é e como funciona. Nossa próxima ordem de negócios será a análise de desempenho do banco de dados, pois está no centro de qualquer esforço de ajuste de desempenho do banco de dados Oracle. E, como isso é tão importante, finalmente analisaremos as melhores ferramentas para a análise de desempenho do banco de dados Oracle.

Sobre os sistemas de gerenciamento de banco de dados relacional

Na sua expressão mais simples, um banco de dados é um dadoestrutura que armazena informações organizadas. Os dados em um banco de dados são armazenados em tabelas em que cada linha representa um item de dados e cada coluna é uma informação sobre esse item. Por exemplo, um bloco de endereços poderia ser armazenado em um banco de dados em que cada entrada seria uma linha e onde haveria colunas para o sobrenome, nome, endereço, rua, cidade, estado, país etc.

Sistemas de banco de dados - também chamados de relacionaisgerenciadores de banco de dados - oferecem várias maneiras de manipular esses dados. Várias tabelas podem ser unidas, os dados podem ser indexados para recuperação mais rápida ou manipulados de maneiras diferentes. Explicar bancos de dados levaria um livro inteiro. De fato, centenas de livros foram escritos sobre o assunto. Para o propósito de nossa discussão, o importante é perceber que os bancos de dados são peças de software bastante complexas. Devido em parte a essa complexidade, muitos fatores podem afetar seu desempenho.

Quanto à Oracle, é uma marca proprietária deSistema de Gerenciamento de Banco de Dados Relacional (RDBMS). Ele existe há séculos e, quando lançado inicialmente em 1979, foi o primeiro RDBMS baseado em SQL. Ele nunca parou de evoluir desde então e sua versão 19 foi lançada apenas em agosto passado. Atualmente, o mercado de RDBMS está saturado de ofertas de vários fornecedores. O Microsoft SQL Server e o IBM DB2 são provavelmente as alternativas mais populares, mas as ofertas gratuitas e de código aberto estão se tornando cada vez mais populares e geralmente oferecem recursos e desempenho comparáveis ​​para a maioria dos casos de uso.

O que é o Oracle Performance Tuning?

Ajuste de desempenho do banco de dados Oracle refere-se ao processo de otimização do Oracledesempenho, simplificando a execução de instruções SQL. Em resumo, o ajuste de desempenho simplifica o processo de acessar e alterar as informações contidas no banco de dados com a intenção de melhorar o tempo de resposta da consulta e, consequentemente, o desempenho do aplicativo. Não importa o quão complexo alguns livros didáticos façam parecer, na verdade tudo se resume a isso. Fazer isso, no entanto, é a parte complicada. Como muitas coisas na vida, isso é mais fácil dizer do que fazer.

Como funciona?

O ajuste de desempenho considera os muitos elementos emum RDBMS para identificar a origem dos problemas de desempenho. Os administradores de banco de dados (DBAs) geralmente enfrentam uma tarefa difícil. Por um lado, os usuários relatam atrasos nos aplicativos e páginas de carregamento lento, mas, por outro lado, os administradores não conseguem identificar a origem dos gargalos do banco de dados. É um problema do otimizador? É a codificação real das instruções de consulta? É um problema com o servidor?

Os administradores de ajuste de desempenho devem consideraros muitos elementos em um banco de dados Oracle para solucionar qualquer atraso na operação. O ajuste do desempenho pode não apenas demorar bastante tempo, mas, mais importante, pode ser difícil descobrir por onde começar. Um processo intensivo de ajuste de desempenho adota uma abordagem em nível de sistema e considera todos os componentes Oracle de cima para baixo.

Como muitos especialistas em banco de dados sabem, o ajusteinstruções SQL individuais, uma a uma, terão pouco efeito, a menos que o administrador tenha executado o ajuste no nível do sistema no servidor, nas instâncias do banco de dados e em seus objetos. É altamente recomendável avaliar medidas de entrada e saída (E / S), parâmetros e estatísticas do otimizador e configurações da instância antes de ajustar instruções SQL individuais. Caso contrário, seus esforços de ajuste de SQL poderão ser inúteis posteriormente pelo otimizador, pois ele determina o protocolo de execução contrário aos planos de execução projetados.

LEITURA RELACIONADA: 6 Melhores Ferramentas de Monitoramento do SQL Server

A primeira etapa, analisando o desempenho do banco de dados

Analisando o desempenho dos servidores de banco de dados emonitorar seu tempo de atividade e outros parâmetros operacionais é uma das tarefas mais importantes dos administradores de rede, sistema e / ou banco de dados. Isso ajudará a manter o software do servidor de banco de dados funcionando sem problemas e com eficiência. Feito corretamente, usando as ferramentas apropriadas, pode ser benéfico não apenas para o hardware e software do servidor, mas, mais importante, para a experiência dos usuários finais.

Vários problemas podem afetar os servidores de banco de dados e afetar adversamente seu desempenho. Entre eles, aqui estão alguns dos mais importantes:

Tamanho do banco de dados

À medida que o tamanho de um banco de dados aumenta, o servidor iráprecisa de mais memória e CPU para ler e processar dados das tabelas. Aumentar o tamanho de uma tabela existente pode, por exemplo, causar um impacto perceptível no desempenho do servidor.

Estrutura da consulta

Consultas são os comandos fornecidos ao banco de dados parabuscar alguns dados específicos. Quanto mais complexa for uma consulta, maior será o impacto no desempenho do banco de dados. A identificação das consultas mais exigentes no servidor de banco de dados é crucial para gerenciar o desempenho dos servidores. Depois que as consultas que ocupam mais recursos são identificadas, é possível envidar esforços para reduzir a carga nos ciclos do servidor e no uso de memória. Além disso, descobrir qual aplicativo está causando essas consultas caras no seu banco de dados pode ajudá-lo a diagnosticar os problemas subjacentes a essas consultas e corrigi-los com rapidez e eficiência. As consultas de monitoramento ajudarão a identificar qual aplicativo host está causando problemas e, potencialmente, ajudarão a diagnosticar outros problemas de aplicativos.

Fragmentação de Índice

Os dados armazenados nos bancos de dados são indexados para tornarpesquisando no banco de dados e recuperando dados com mais rapidez e eficiência. Embora a indexação adequada ajude a pesquisar e recuperar dados mais rapidamente, quando os dados são modificados, excluídos ou removidos, o conteúdo indexado é disperso e o banco de dados se fragmenta, o que pode resultar em degradação do desempenho.

Desempenho de hardware

Desempenho de hardware do servidor executando oO banco de dados também pode ter um grande impacto no desempenho do banco de dados. A memória, o cache e a paginação devem ser monitorados em tempo real para garantir que o software do servidor de banco de dados esteja com o desempenho ideal e não tenha gargalos ou lentidões.

As principais ferramentas para análise de desempenho do banco de dados Oracle

Como a análise de desempenho do banco de dados Oracle écomo um assunto tão importante, porém complexo, vasculhamos o mercado em busca de algumas das melhores ferramentas disponíveis. Embora todas as ferramentas analisadas abaixo sejam altamente recomendáveis, elas são muito diferentes. Reserve um tempo para ler revisões detalhadas ou tirar proveito dos testes gratuitos disponíveis que a maioria deles oferece antes de finalizar sua escolha da melhor ferramenta para suas necessidades específicas.

1. SolarWinds Database Performance Analyzer (T GRÁTISRIAL)

Nossa primeira entrada é uma excelente ferramenta de SolarWinds, a mesma empresa que nos trouxe a Monitor de desempenho de rede, considerado por muitos como uma das melhores ferramentas de monitoramento de largura de banda da rede. SolarWinds tornou-se um nome familiar entre os administradores de rede devido principalmente à sua impressionante seleção de ferramentas que incluem algumas das melhores ferramentas gratuitas disponíveis no mercado.

o SolarWinds Database Performance Analyzer (ou DPA) monitora e analisa seu banco de dados Oracleinstâncias para resolver problemas. Ele usa um método de Análise do tempo de resposta e concentra-se no tempo entre as solicitações de consulta e a resposta correspondente do banco de dados e analisa os tempos de espera e os eventos para identificar os gargalos dos bancos de dados.

SolarWinds Database Performance Analyzer

  • TESTE GRÁTIS: SolarWinds Database Performance Analyzer
  • Link para download oficial: https://www.solarwinds.com/database-performance-analyzer/registration

A ferramenta possui uma interface fácil de usar queajudará você a encontrar problemas de maneira rápida e fácil. A tela principal permite visualizar instâncias do banco de dados, tempos de espera, conselhos de consulta, CPU (com alertas e alertas críticos), memória, disco e sessões.

O painel de tendências de um banco de dados específicoA instância mostra o tempo total de espera (ou, alternativamente, a escolha de tempos médios ou típicos de espera por dia) para os usuários ao longo de um mês em formato gráfico. Cada cor do gráfico representa uma instrução SQL individual, fornecendo uma representação de qual instrução leva mais tempo para ser executada.

o SolarWinds Database Performance Analyzer é tão cheio de recursos que um artigo inteiro pode ser dedicado a ele. Aqui está um resumo de seus recursos mais importantes.

Conselho de ajuste de banco de dados

A ferramenta fornece conselhos para o ajuste individualinstâncias de banco de dados e verifique se estão executando com o desempenho máximo. Isso é feito analisando todos os parâmetros de uma instância e recomendando um curso de ação para otimizar determinadas consultas ou instâncias de banco de dados inteiras para obter um desempenho máximo.

Monitoramento ativo de todas as sessões ativas

O mecanismo de pesquisa nativa altamente detalhado registra exatamente tudo o que está acontecendo nas instâncias do banco de dados, sem carga adicional no próprio banco de dados.

Rastreamento, monitoramento e análise de componentes de banco de dados

Para ajudar a identificar a causa raiz do desempenhoproblemas, a ferramenta correlaciona automaticamente consultas, usuários, arquivos, planos, objetos, tempos de espera, armazenamento e data / hora / hora / minuto para descobrir e diagnosticar com precisão problemas em tempo real.

Ponto único de monitoramento para todos os seus bancos de dados

o SolarWinds Database Performance Analyzer não funciona apenas com o Oracle. Na verdade, ele suporta a maioria dos principais produtos, incluindo Microsoft SQL Server, MySQL, DB2 e ASE. Ele também suporta servidores físicos locais, Máquinas Virtuais (sob Vmware ou Hyper-V) e bancos de dados baseados em nuvem.

Sem agente e altamente escalável

Este produto permitirá que você monitoreinstâncias de banco de dados conforme desejado. Pode facilmente escalar de uma a mil instâncias. Também não requer a instalação de nenhum agente de monitoramento ou análise em seus servidores. Portanto, não há risco de a ferramenta impactar o desempenho de seus bancos de dados.

Preços para o SolarWinds Database Performance Analyzer começam em US $ 1 995 e variam de acordo com o número e o tipo de instâncias de banco de dados a serem monitoradas. Se você preferir experimentar o produto antes de comprá-lo, está disponível uma versão de avaliação de 14 dias totalmente funcional.

Avaliação gratuita de 14 dias: https://www.solarwinds.com/database-performance-analyzer/registration

2. Idera Diagnostic Manager

o Idera Diagnostic Manager oferece monitoramento de desempenho do Oracle e de outrosbancos de dados em ambientes físicos e virtuais. A ferramenta capacita os administradores a ver estatísticas, métricas e alertas de desempenho de servidores físicos, bem como de máquinas virtuais e seu hardware host subjacente. As métricas monitoradas incluem CPU, memória, uso e espaço no disco rígido, uso de rede e muito mais. O produto também fornece monitoramento proativo das consultas SQL junto com o monitoramento transnacional e pode fornecer aos administradores recomendações para a integridade de seus bancos de dados Oracle.

Idera Diagnostic Manager - Painel central

o Idera Diagnostic Manager oferece uma interface baseada na Web ou móvelaplicativos disponíveis para celulares e tablets Android e iOS, bem como para a plataforma Blackberry. A disponibilidade de dados históricos e em tempo real sobre as instâncias do servidor Oracle permite que os administradores façam alterações rapidamente desde o aplicativo móvel. E, embora os aplicativos móveis não sejam tão cheios de recursos quanto o console da web, você pode executar várias tarefas administrativas, incluindo processos de exibição e eliminação, iniciando e interrompendo trabalhos conforme necessário e executando consultas para ajudar a resolver problemas.

Outros recursos desta poderosa ferramenta incluem umsistema de alerta preditivo desenvolvido para evitar alertas falsos e uma excelente função de monitoramento de desempenho de consultas que pode identificar consultas que não são eficientes e / ou com desempenho ruim. Preços para o Idera Diagnostic Manager começam em US $ 1 996 por instância do banco de dados e está disponível uma avaliação totalmente funcional, embora um pouco curta de 14 dias.

3. Gerenciador de aplicativos do ManageEngine

Embora possa não ser tão conhecido quanto SolarWinds, ManageEngine é outro nome que goza de uma excelente reputação entre os administradores de rede. Não deixe o nome enganar você. Apesar de ManageEngine Application Manager lida principalmente com o gerenciamento de aplicativos, também inclui alguns recursos poderosos de monitoramento e gerenciamento de desempenho Oracle e é tanto uma plataforma de monitoramento quanto uma ferramenta de gerenciamento.

o Gerenciador de aplicativos do ManageEngineO monitor de banco de dados Oracle oferece monitoramento Oracle multidimensional e pronto para uso. Ele também possui alertas rápidos e relatórios perspicazes. Por causa de seus inúmeros recursos, Database Performance Analyzer para oracle pelo Applications Manager é uma poderosa ferramenta de monitoramento de banco de dados Oracleusado por milhares de administradores de TI. Os bancos de dados Oracle são complexos e o monitoramento geralmente é desafiador e demorado. Parâmetros importantes podem facilmente deslizar pelas rachaduras. O suporte eficaz ao monitoramento Oracle desta ferramenta facilita o rastreamento do desempenho de várias facetas do banco de dados Oracle, especialmente métricas relacionadas a espaços de tabela, sessões, SGAs, arquivos de dados e E / S de disco.

Screenshot do Oracle do ManageEngine Applications Manager

Muito mais pode ser feito com issoferramenta. Por exemplo, você pode acompanhar os tempos de resposta do aplicativo com informações em nível de código sobre o ambiente de monitoramento de desempenho do aplicativo. Seu recurso de rastreamento de transações permitirá detectar transações lentas. Ele monitorará as execuções de consulta do banco de dados e rastreará as transações em segundo plano.

o ManageEngine Application Manager está disponível em várias edições. Há uma edição gratuita com recursos limitados, além das versões paga Professional e Enterprise. O preço começa em US $ 945 e os detalhes podem ser obtidos entrando em contato com o ManageEngine. Também está disponível uma versão de avaliação gratuita de 30 dias.

4. eG Enterprise

eG Innovation é uma empresa especializada em ferramentas de monitoramento de desempenho. Seu principal produto é chamado eG Enterprise. É uma solução de gerenciamento de desempenho totalque fornece monitoramento, diagnóstico e relatório de TI automatizados para solucionar lentidão de aplicativos, problemas de experiência do usuário, interrupções de rede, gargalos de virtualização, falhas de servidor, pontos de armazenamento e muito mais.

eG Enterprise usa uma combinação de agente e sem agentetecnologias para monitorar a saúde e o desempenho de toda a sua infraestrutura de TI, do código do aplicativo ao hardware em qualquer tipo de ambiente: físico, virtual, nuvem ou híbrido. A ferramenta usa uma tecnologia patenteada de correlação de desempenho e diagnóstico de causa raiz. Isso simplifica a solução de problemas de desempenho e pode resultar em uma resolução mais rápida de problemas e maior eficiência operacional.

Captura de tela do eG Enterprise

eG Enterprise inclui amplos recursos de monitoramento paraBancos de dados Oracle. Um único agente de monitoramento de eG é capaz de monitorar todas as instâncias do banco de dados Oracle sendo executadas em um sistema. O monitoramento real das instâncias do banco de dados Oracle é realizado de forma não intrusiva e os administradores têm a opção de configurar se o monitoramento deve ser executado de maneira baseada em agente ou sem agente.

eG EnterpriseA arquitetura baseada na web permite agerenciamento e monitoramento de servidores Oracle distribuídos a partir de um gerente central. Os administradores podem visualizar e analisar o desempenho dos servidores de banco de dados Oracle em tempo real na Web. O monitor Oracle da ferramenta inclui um modelo especializado para um servidor de banco de dados Oracle criado para evitar sobrecarregar o administrador com uma tonelada de dados de desempenho. Ao visualizar o modelo de camada de um servidor de banco de dados Oracle, um administrador pode determinar rapidamente quais camadas do servidor de banco de dados estão causando um problema.

eG EnterpriseO modelo de preços e implantação é bastante complexo. A ferramenta está disponível como um software instalado localmente, com uma licença perpétua ou por assinatura. Se preferir, também está disponível uma opção SaaS baseada em nuvem. Os preços não estão prontamente disponíveis em eG Innovation e você precisará solicitar uma cotação formal da empresa. Se você puder testar os recursos do produto, está disponível uma avaliação gratuita do editor.

5. Idera Precise Platform

O último da nossa lista é outro produto da Idera Chamou o Plataforma precisa. Difere do Gerenciador de diagnóstico revisado acima, na medida em que a Precise Platformprojetado especificamente para manter seu ambiente Oracle disponível e com desempenho máximo. A ferramenta captura, mede e analisa métricas de desempenho de todos os componentes críticos do sistema e ajuda a detectar e corrigir as causas principais dos problemas antes que os usuários finais sejam afetados. Este produto fornece visibilidade de alto nível em várias instâncias do Oracle e Oracle RAC, fornecendo alertas quando problemas são detectados, oferecendo relatórios sobre dados coletados e mantendo um armazém de informações de desempenho do banco de dados Oracle.

Janela principal do Idera Precise

o Idera Plataforma precisa analisa continuamente o comportamento do banco de dados para encontraros objetos ou processos com pior desempenho. Isso pode incluir instruções pesadas, objetos pesados, alta E / S, eventos RAC, dispositivos de armazenamento e muito mais. As estatísticas históricas são armazenadas por instância, usuário e programa para fornecer o contexto necessário para ver toda a imagem. Ele analisará rapidamente instruções SQL, objetos de banco de dados e instâncias Oracle para descobrir causas específicas de problemas de desempenho. Ele também apresenta o caminho de acesso do Oracle em etapas detalhadas e exibe as estatísticas necessárias para entender cada etapa, permitindo que você isole os problemas rapidamente.

o Idera Plataforma precisa fornece aos DBAs uma biblioteca de conhecimentos eexperiência projetada para ajudá-los a ajustar seu ambiente Oracle. Ele oferecerá recomendações sobre ajuste de instrução SQL, ajuste de objeto de banco de dados, ajuste de índice e custo de índice. Também identifica automaticamente áreas problemáticas e fornece conselhos acionáveis ​​sobre como resolvê-las. Além disso, os DBAs podem executar análises hipotéticas para prever o impacto das alterações propostas antes de efetivamente fazê-las, reduzindo assim o risco de piorar acidentalmente as coisas. Por fim, essa ferramenta facilita o alinhamento da capacidade de servidor e armazenamento com as crescentes necessidades de seus negócios.

Preços para o Idera Precise Platform não está prontamente disponível e você precisaráentre em contato com a empresa para obter uma cotação adaptada ao seu ambiente específico. Da mesma forma, uma avaliação gratuita parece não estar disponível, embora uma sessão de demonstração possa ser organizada, novamente entrando em contato com o editor.

Comentários