Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #78293
    Anônimo

      Pessoal, preciso de uma ajuda no seguinte problema:

      Minha empresa utilizava Oracle 8i versão 8.1.7, e as aplicações foram desenvolvidas em Forms Version 6.0.8.11.3, todos os programas foram desenvolvidos como BASED Table. Até aí tudo funcionava muito bem, a performance era muito boa, não havia “Lock” de nada ….

      … Recentemente houve uma migração para o Banco Oracle 10G, o servidor triplicou a sua capacidade em termos de Hardware, memória discos, etc, NO ENTANTO estou com gargalos justamente em uma aplicação que é a mais executada, quando os usuários realizam o “INSERT” pelo forms, o Banco aponta um “enq: TM – contention” na aplicação e mostra que o INSERT na tabela está gerando “GARGALO”.

      Qual seria a solução apropriada nesse caso ?

      Agradeço a atenção de todos.

      Cazulo.

      #78295
      chduarte
      Participante

        Na verdade sempre quando voce tem que tomar muito cuidade com este banco 10g.

        Sempre quando voce esta em uma transacao, o banco gera um lock. Neste caso ele mostra este evento, mas no 8i ele tambem ja aparecia o “enq: TM” so que alguns eventos mudaram de nome.

        Voce esta sentindo algum problema de performance depois da migracao? O que pode acontecer também é que se voce criar o banco do 10g com o dbca automaticamente ele cria um job que coleta estatisticas sem voce querer. Se a sua aplicacao nao for desenhada para utilizar estatisticas é precisa excluir as estatisticas atuais e desabilitar este job.

        []

        #78297
        Anônimo

          Carlos,

          O problema está ocorrendo após a migração. No entanto o novo servidor é muito mais parrudo que o anterior, com 4 vezes mais memória, mesmo assim há esse tipo de contencão. O estranho é que sempre pensei que o Forms trabalhasse com Bind Variable de forma implícita e que cada DML de usuário não gerasse uma nova área no Cache ou seja isso me traria mais performance.

          Quando vc mencionou estatísticas estava se referindo aos Snapshots criados por período ? ou existe alguma outra estatística .. aliás o 10G é repleto de estatística é recomendável desabilitá-las ?

          Grato,

          Cazulo.

          #78300
          chduarte
          Participante

            Estatisticas e bind variables nao combinam muito bem. Isso porque o banco precisa “chutar” um valor e as vezes ele “chuta” errado.

            Para voce ver se as estatisticas estao ligadas na sua tabela, faca a seguinte query:

            SQL> select SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED, num_rows
            from dba_tables
            where table_name = ‘SUA TABELA’;

            Se tiver registros nestas colunas faca o seguinte para deletar as estatisticas:

            SQL> analyze table xxx delete statistics;

            Teste sua aplicacao novamente. Se nao funcionar, colete as estatisticas novamente por via das duvidas:

            SQL> analyze table xxx compute statistics;

            É dificil dizer se é preciso desligar as estatisticas porque nao conheco sua aplicacao mas como esta sendo migrada diretamente de um banco 8.1.7 é bem provavel que ela nao tenha sido feito pensando em custo, mas sim em regra.

            []

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.
          plugins premium WordPress