Chiappa,

Obrigado pelas ótimas sugestões.

Vou solicitar estas informações ao DBA.

Abs,

Marcos


Em Sex, 10 de ago de 2018 10:12, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Blz ? Erick, eu não sei como estão hoje, mas um tempo atrás eu tinha visto
> uns produtos da Quest e achei fracos no quesito de Tuning : em especial,
> eles só faziam o EXPLAIN PLAN (que dá o Plano de Execução estimado, e Não o
> real) dos SQLs a analisar, não tinham muitas informações sobre Histogramas,
> Child Cursors e coisas do tipo, além de só coletarem/exibirem estatísticas
> muito gerais de performance do banco..... É algo a analisar/avaliar se
> esses progs vão ser úteis no caso em questão.....
>
>  Marcos, primeira coisa : teu ambiente DESENV contém o ** mesmo ** volume
> de dados que PROD, com o mesmo (ou similar) número de sessões concorrentes,
> com um hardware e um software o mais semelhantes possíveis em relação à
> PROD ??? Se não tem, não vejo NADA DE ESTRANHO em observar performance
> diferente em hardwares diferentes manipulando volumes de dados diferentes
> com diferente número de sessões no banco, não é ?? Faz sentido ? Eu acho
> que faz.....
>
>  Segundo : essa coluna que vc adicionou, qual é o datatype dela, será que
> não é um datatype complexo/não-escalar como LOB ? Vcs  tem CONSTRAINTS nela
> , em especial FK ? Tem TRIGGERS referenciando ela/usando-a ? Ela é usada
> nos SQLs da aplicação ? Se é usada sim, será que ela não é usada nos WHEREs
> - obviamente, se é citada/usada nos WHEREs e não houver estatísticas e
> histogramas apropriados o CBO pode montar um Plano de Execução impróprio, o
> que nos leva ao Terceiro ponto ....
>
>  Terceiro : pra vc SABER o que está sendo diferente em dois databases que
> pro mesmo SQL apresentam performance largamente diferente, vc TEM que
> coletar 4 informações cruciais em ambos os bancos - SE vc não é o DBA e
> portanto não tem acesso à todas elas, Peça Suporte/ajuda pro seu DBA... São
> elas :
>
>    a. os indicadores gerais de performance do banco coletados
> imediatamente antes e imediatamente depois da execução do SQL em questão
> (derivados principalmente da V$SYSSTAT) : a idéia é fazer uma coleta da
> V$SYSSTAT imediatamente antes (armazenando numa tabela ou algo assim),
> executar o SQL e imediatamente depois fazer nova coleta, armazenar E fazer
> a diferença entre os valores da segunda e da primeira coleta, o resultado é
> quanto foi 'gasto' ....
>
>    b. os indicadores de performance/consumo de recursos da sessão (pode
> ser a V$SESSTAT, pode ser a MYSTATS) :
> http://betteratoracle.com/posts/12-runstats é um exemplo possível, eu
> costumo usar uma Variação desse script, que mostra só os indicadores que
> Foram alterados ou os cuja diferença foi maior que um dado valor
>
>    c. os Planos de Execução REAIS : quando vc faz um EXPLAIN PLAN (o que
> como eu disse afaik é o que a maioria das tools faz por vc) vc obtém uma
> ESTIMATIVA do plano de execução do SQL... Para vc obter o plano que
> REALMENTE foi criado e usado, inclusive com Detalhes como qtdade de linhas
> estimadas e reais, tempo gasto, etc) vc pode usar a DBMS_XPLAN, desde que
> vc TENHA ativado a coleta extendida :
> https://blogs.oracle.com/optimizer/how-do-i-know-if-the-cardinality-estimates-in-a-plan-are-accurate
> dá um exemplo...
>
>    d. os WAIT EVENTs todos que a execução do SQL sofreu : há diversas
> maneiras de se obter isso mas imho a mais simples é vc fazer um TRACE da
> sessão executando o SQL : http://psoug.org/reference/dbms_monitor.html,
> https://community.toadworld.com/platforms/oracle/b/weblog/archive/2014/06/22/tracing-code-with-dbms-monitor
> e
> http://programmersnotes.com/2013/12/how-to-enable-tracing-in-oracle-db-how-to-read-trace-files/
> tem uns exemplos
>
> ===>>> Com essas 4 informações vc ** VAI ** descobrir o que está diferente
> : PODE  ser que o plano tenha mudado em um dos databases, PODE ser que o
> plano não mudou mas o banco PROD está rodando o mesmo plano que DESENV mas
> com performance inferior (por causa de waits extras, digamos, ou I/O
> ineficiente, ou qtdade de blocos muito diferente de DESENV)..... Sem essas
> infos vc vai estar CHUTANDO, simples assim....
>
> []s
>
>   Chiappa
> 
>
  • ... Marcos Soares marcos....@gmail.com [oracle_br]
    • ... Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
      • ... Marcos Soares marcos....@gmail.com [oracle_br]
    • ... Erick Guimaraes guimaraes.er...@gmail.com [oracle_br]
      • ... jlchia...@yahoo.com.br [oracle_br]
        • ... Marcos Soares marcos....@gmail.com [oracle_br]
        • ... Erick Guimaraes guimaraes.er...@gmail.com [oracle_br]
          • ... jlchia...@yahoo.com.br [oracle_br]

Responder a