Anderson É, pode ser... Ao invés de simplesmente debugar (já que demora várias horas), seria interessante "instrumentar" a procedure para registrar os passos de execução, em algum tipo de log.
Mas, infelizmente, não vou poder atuar nisso. Só posso repassar as dicas aqui do fórum para o meu amigo... Estou com outro trabalho (para variar, com prazo para ontem! rsss) Obrigado! [ ] André Em 15/06/08, Anderson Santiago <[EMAIL PROTECTED]> escreveu: > > Amigo, > reveja o codigo da procedure e tente rodar alguma vez debugando, sou capaz > de apostar que em algum lugar ela > entra em looping. > Att. > Anderson > > ----- Mensagem original ---- > De: Andre Santos <[EMAIL PROTECTED]<andre.psantos.ti%40gmail.com> > > > Para: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br> > Enviadas: Sexta-feira, 13 de Junho de 2008 17:53:50 > Assunto: Re: [oracle_br] Re: Problema com cursor em procedure demorada > > Oi Welvis > > Obrigado pela resposta... mas não são 200 "milhões", não! São **somente** > 200 mesmo! (2 centenas). > É bem pouco mesmo. > > Na hora também estranhei: mas como? 200 linhas demorar 16 horas??? > Mas depois vi que o problema é o "algoritmo matemático", cheio de iterações > (loops) e condições, com números fracionários na condição dos loops... > (coisa tipo "cálculo numérico", da faculdade). > > Claro que pode haver maneira de otimizar isso... mas o problema é a > aparente > perda referência... com sintoma de "reexecução" da procedure e respectivo > cursor, devido à duplicidade do ROWCOUNT na tabela de "log". > > Vamos ver se alguém tem notícia de algum bug... > > De qualquer forma, muito obrigado! > > [ ] > > André > > Em 13/06/08, Welvis Douglas <[EMAIL PROTECTED] com.br> escreveu: > > > > poxa vida em amigo, processar 200 milhoes de linhas é meio enviavel, > > divida isso, faça algo para reduzir esse processamento, aqui tbm temos > > muitos processos pesados... estamos revendo eles, agora nada que seja de > 200 > > milhoes... > > > > nossa base tem mais de 260 milhoes de Item NF, porem acessamos apenas o > que > > tem que ser acessado, agora isso que vc está fizendo, demorando 16 horas, > > como que fica o acesso dos outros usuarios na base, pois aqui quando está > > rodando os processos fica um locura... > > > > ... > > > > de mais detalher do seu amdiente.... .. > > > > quem sabe podemos ajuda vc...... > > > > abraço.! > > > > ----- Original Message ----- > > From: Andre Santos > > To: [EMAIL PROTECTED] os.com.br <oracle_br%40yahoog rupos.com. br> > > Sent: Friday, June 13, 2008 5:27 PM > > Subject: [oracle_br] Re: Problema com cursor em procedure demorada > > > > Ah, em tempo: > > > > Já sugeri que ativassem um trace da sessão e executassem novamente a > > procedure. > > Também perguntei se há algo que roda nesse BD (um "job", por exemplo). > > E falei para meu amigo conversar com o DBA, para ver se há algo no > > alert.log. > > > > Já ativaram o trace... mas agora só na segunda (pois a SP só vai > > terminar no sábado) para saber como ficou. > > > > Obrigado! > > [ ]'s > > > > André > > > > Em 13/06/08, Andre Santos<andre.psantos. [EMAIL PROTECTED] > > com<andre.psantos. > ti%40gmail. com>> > > escreveu: > > > Pessoal > > > > > > Versão do servidor de "desenvolvimento" : > > > ------------ --------- --------- --------- --------- --------- - > > > SELECT * FROM v$version; > > > . Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production > > > . PL/SQL Release 9.2.0.8.0 - Production > > > . CORE 9.2.0.8.0 Production > > > . TNS for 32-bit Windows: Version 9.2.0.8.0 - Production > > > . NLSRTL Version 9.2.0.8.0 - Production > > > ------------ --------- --------- --------- --------- --------- - > > > > > > Um colega aqui está com uma manutenção de sistema. Pegou uma procedure > > > problemática. .. e pediu uma ajuda. > > > Para ter uma idéia, a procedure está demorando 16 horas para completar > > > a execução... processando pouco mais de 200 linhas. > > > > > > Mas a demora não é devida à consulta dessas linhas. > > > Essa SP realiza uma série de cálculos tipo "científicos" , com vários > > > loops, etc., etc., etc... > > > > > > O cenário é o seguinte: > > > - É gravada uma tabela de "log" com os cálculos realizados (um > > > registro para cada linha do cursor, ou seja, no final deveria ter as > > > 200 e poucas linhas). > > > - Nesse "log", é gravado o valor do atributo ROWCOUNT do cursor, o > > > valor de uma sequence (essa sequence é só para a tabela de log), e o > > > SYSDATE. > > > - Garantiram que a procedure não é disparada mais de uma vez (no > > > ambiente de desenvolvimento) , nem há um job que faça isso. > > > > > > O problema é: "aparentemente" chega uma hora em que a procedure se > > perde... > > > Na tabela de "log", há ***repetição do ROWCOUNT*** (algumas > > > ocorrências), como se tivesse tentado reexecutar a procedure/cursor. .. > > > o que diferencia é apenas a sequence e o SYSDATE. > > > > > > Ainda não tive tempo de ver a SP detalhadamente, para ajudar meu > > > colega, mas uma hipótese seria algum bug do Oracle... necessidade de > > > "patch"... > > > OBS.: Não tenho acesso ao Metalink. =^( > > > > > > Alguém já passou por isso, ou já ouviu falar de um problema semelhante? > > > > > > Obrigado! > > > > > > [ ]'s > > > > > > André Santos > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para > armazenamento! > http://br.mail.yahoo.com/ > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]