Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal , gostaria de saber se alguém pode me ajudar com uma questão tenho uma base Oracle onde rodo uma procedure com cursor essa procedure na minha maquina local roda bem rápido, no servidor do cliente demora 4 ou 5 x mais detalhe que em termos de hardware o servidor do cliente e melhor que minha maquina. Algo que eu posso fazer para melhorar esse desempenho(limpeza de cache por exemplo) percebo que esse servidor tem um aumento gradativo do consumo de memoria e essa memoria não é liberada(só quando o banco é reincido) , temos alguma opção nesse sentido?
Não, é o mesmo banco.
Sim , estatísticas estão atualizadas
Acho os indices e as querys são as mesma que rodo na minha maquina e aqui é mega rápido e no servidor do cliente lento.
Já verificou o link !?
Não sei se entendi bem sua arquitetura.
Motta, qual o comando que vc. usa para atualizar as estatisticas??
Atenciosamente,
Nilson.
https://docs.oracle.com/cd/B19306_01/server.102/b14211/stats.htm#i41282
O ideal é deixar um job periodico em uma horário de baixo uso do bd.
Você só está levando em consideração o Banco. se a base é igual e você tem certeza disso, então verifique com o comando top ou comando iotop se existe algum outro processo sem ser do oracle que consome a memória do servidor, ele pode ser superior a sua máquina, mas processos são processos e esse servidor pode fazer swap de uma hora pra outra..
pode também ser problema no próprio disco dele ( já peguei problema assim) . mas faça o que o motta falou, da um flush ante de comparar as queries, verifique as estatísticas , garanta que os índices estão melhorando e não degradando a query.
São bancos diferentes ?
As estatisticas estao atualizadas ?
Foi feito o plano de execucao das queries ?
Existem índices e estes estão sendo utiliizados ?