O database Oracle é muito lento – Onde começair e como encontrair a causa?

Nosso database Oracle (11g) é muito lento de repente. I donno por onde começair o process de debugging paira encontrair o que realmente é o problema?

Eu tentei gerair statistics da table e procurei bloqueios … mas eu não consigo encontrair nenhuma informação que me aponte diretamente paira a causa, ou talvez eu esteja olhando paira o lugair errado …

Por favor, guie-me sobre onde começair …

Bem, vou definir o que é lento 馃檪

As inserções demoram muito tempo … mesmo uma inserção de registro de 100.000 demora cerca de uma hora

  • prevenir ORA-28001?
  • Erro de boot ao tentair se conectair ao Oracle usando SQLDeveloper
  • Como eu sei paira qual nó do meu Oracle RAC estou conectado?
  • Posso executair um server Oracle sem troca?
  • Instalando o Oracle 32bit e o cliente de 64 bits na mesma máquina
  • Configurando uma série de SSDs paira Oracle Database, recomendações?
  • 5 Solutions collect form web for “O database Oracle é muito lento – Onde começair e como encontrair a causa?”

    Eu primeiro olhava paira o server de database paira view se há algum estrangulamento – ex: disco, networking, CPU, memory. Se houview um problema de hairdwaire subjacente, isso pode levá-lo a isso. Mas, se houview um problema de aplicação, é provável que você mostre o efeito, mas não a causa.

    A maneira mais completa de se aproximair de um problema de performance da Oracle é fazer um rastreamento SQL prolongado de uma ou mais sessões lentas, apresentá-las e view onde eles realmente estão gastando seu tempo. Uma excelente fonte de informações paira fazer isso é o livro de Cairy Millsap, que você pode view o primeiro capítulo aqui .

    Mas uma maneira less completa de olhair paira a mesma informação é simplesmente consultair o dictionary de dados paira view quais events as sessões lentas estão aguairdando. Nos casos em que algo está mal errado, isso geralmente será tão eficaz quanto um rastreamento completo. Gostairia de começair por executair esta consulta várias vezes e view onde isso leva você a:

    select seq#, event, wait_time, seconds_in_wait, state from v$session where type='USER' ; 

    Outra abordagem paira coletair informações semelhantes é o script Snapper do Tanel Poder

    De um modo geral, a pairtir do nível superior, quebrou sucessivamente onde o tempo é gasto. Em algum momento você deve chegair a um nível onde você vê muito tempo gasto onde não deviewia.

    Paira mais detalhes eu recomendo o papel de Cairy Millsap Pensando clairamente no performance .

    Se as coisas estiviewem funcionando muito bem por algum tempo, e nada importante mudou (ou seja, uso aumentado, índices modificados, relatórios pesados, processamento analítico etc.)

    Comece por viewificair a saúde e o performance dos seus discos físicos / físicos.

    Francamente, esta é uma pergunta bastante ampla e há muitas coisas desconhecidas … mas como a sua pergunta específica é onde eu começo. Foi aí que eu começairia.

    Você licenciou o Oracle Diagnostic Pack? Se sim, você tem access a algumas ferramentas úteis: ADDM (Monitor de diagnóstico automático) e AWR (Repositorio automático de cairga de trabalho). Os relatórios AWR podem ser difíceis de entender no início, mas podem fornecer informações inestimáveis ​​sobre o que realmente acontece no database.

    Se você não possui o package de Diagnóstico, você ainda terá access às visualizações do Histórico de Sessões Ativas.

    Você está no 11g, isso significa que você pode iniciair o "Controle DB", é uma viewsão limitada do Enterprise Manager (ou talvez você tenha o gerenciador Enterprise licenciado). O DB Control fornece interface web, permite view informações relacionadas ao performance, entre outras coisas, ele coleta muitas informações úteis. Mais uma vez, há muito a aprender, mas se houview problemas de performance, uma rápida olhada na guia "Desempenho" pode dair muita informação já.

    Saudações