Jump to content
Sign in to follow this  
Adauto Junior_64247

Melhoria de performance.

Recommended Posts

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?

Share this post


Link to post
Share on other sites

São bancos diferentes ?

As estatisticas estao atualizadas ?

Foi feito o plano de execucao das queries ?

Existem índices e estes estão sendo utiliizados ?

Share this post


Link to post
Share on other sites

Já verificou o link !?

Não sei se entendi bem sua arquitetura.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Pedro Vinicius Miguel Dias
      Pessoal, estou estudando o Banco de Dados Oracle e estou tendo um problema pra criar uma nova conexão.
      Durante o curso, o instrutor pede que eu crie duas conexoes, a TESTE com a senha: teste e a PRATICA com a senha :pratica... cada uma com uma senha e etc e elas funcionam.
      Eu por minha conta quis criar outra conexão com outro nome e outra senha, Ex. (User TESTE2 e senha: teste2) e ao testar, o Banco não conecta. Erro ORA-01017.
       
      Alguém consegue me ajudar?
    • By Matsuura
      Estou tentando criar o usuário o Scott, e na internet encontro bastante tutoriais para instalação do HR, para o scott dois que me referenciei foram:
      https://www.profissionaloracle.com.br/swillians/forums/topic/usuario-scott-tiger-banco-oracle-10g-express-edition-xe/
      https://docs.oracle.com/database/121/COMSC/installation.htm#COMSC00007
       
      no primeiro link que tentei seguir não encontrei após a intalação o arquivo "demobld.sql"estou enviando a imagem com nome "sql1" e "sql2" que mostram a minha tentativa de instalação, com as mensagens de erros que me retornaram, no segundo link mostra as instalações de schemas, mas não mostra especificamente o Scott. 
      Espero que possam me ajudar, estou a mais de duas semanas tentando sem exito.


    • By NaPraia
      Buenas,
       
      alguém já gerou arquivo em pdf?
       
      eu já usei utl_file e text_io para gerar excel mas para pdf não sei se dá, sabem?
      tenho pesquisado e falam do BI Publisher, já usaram?
    • By Mvc
      Olá,
      Gostaria de fazer uma query mas o retorno ou vem ou não vem dados. Vou citar exemplos.
       
      Me ajudem PF se o melhor caso é union ou outro?
       
      1) Tabela 1 e tabela 2 com campos distintos e um campo em comum com Join no campo card.
      Resultado: No meu select qdo tem dados nas 2 tabelas então retornam todos em comum em uma única linha.
       
      Tabela 1(id, card)
      1, xxx
      2, yyy
      3, zzz
      Tabela 2 (id, card, fraude)
      1, xxx, sim 
      2, yyy, sim
      3, zzz, pendente
       
      Select a.id, a.card, b.card, b.fraude
      from t1 a,t2 b
      where  a.card=b.card;
       
      Retorno:
      Id,Card,Card,fraude
      1, xxx,xxx,sim
      2, yyy,yyy,sim
      3, zzz,zzz,pendente
       
      O problema é qdo na tabela 2 não tem o dado:
      2)Tabela 1 e tabela 2 com campos distintos e um campo em comum com Join no campo card.
      Resultado: No meu select qdo tem dados na tabela 1 e não tiver dado na tabela 2 então retornam linha que só tem na tabela 1.
       
       
      Tabela 1(id, card)
      1, xxx
      2, yyy
      3, zzz
      4,xyz
       
      Tabela 2 (id, card, fraude)
      1, xxx, sim 
      2, yyy, sim
      3, zzz, pendente
       
      Select a.id, a.card, b.card, b.fraude
      from t1 a,t2 b
      where  a.card=b.card;
       
      Retorno:
      Id,Card,Card,fraude
      Nenhuma linha
      Ou não estou certo, retorna igual ao exemplo1:
      1, xxx,xxx,sim
      2, yyy,yyy,sim
      3, zzz,zzz,pendente
       
      Pergunto, neste exemplo 2 como faço pra retornar somente todas as linhas e se não tiver a linha na tabela 2 ficar com estes campos null? 
       
      Desta forma;
       
      Retorno:
      Id,Card,Card,fraude
      1, xxx,xxx,sim
      2, yyy,yyy,sim
      3, zzz,zzz,pendente
      4,xyz,null,null
      Ou no lugar de null, ficar vazia as colunas REF a tabela 2.
       
      Na vdd são exemplos, mas a qtd de Join é mais complexos
      Muito obrigado!!!!
       
       
       
       
    • By NaPraia
      buenas
       
      no sistema eu tenho uma tabela A com um campo que é do tipo NUMBER
      um outro sistema, tem uma tabela B que se relaciona com esse campo da tabela A, é que é do tipo NUMBER(19,2)
      Se relacionam corretamente mas não foi possível criar a constraint de FK
       
      não estou pensando em alter table pois pode gerar um caos no sistema
       
      verificar por trigger se já existe?
       
      obrigado
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.