- Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 17 anos, 12 meses atrás por chduarte.
-
AutorPosts
-
19 de janeiro de 2007 às 3:50 pm #78293Anô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.
19 de janeiro de 2007 às 4:07 pm #78295chduarteParticipanteNa 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.
[]
19 de janeiro de 2007 às 4:31 pm #78297AnônimoCarlos,
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.
19 de janeiro de 2007 às 5:09 pm #78300chduarteParticipanteEstatisticas 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.
[]
-
AutorPosts
- Você deve fazer login para responder a este tópico.