Re: Res: [oracle_br] ORA-01555 snapshot too old
Colega, vamos por partes aí : PRIMEIRO, vc está usando 9i, e apesar de não dizer, como vc fala de "tablespace de undo" eu SUPONHO que vc está usando undo managemento automático - com essa opção, que é a default no 9i inclusive, vc ** NÂO TEM MAIS ** controle sobre os segmentos de undo/rollback, é o BANCO que automaticamente os cria, aumenta, diminui, bota online e offline, quando e como ele quiser, então NÂO TEM COMO vc saber, vc especificar um segmento em especial, o banco é quem copntrola isso... Segundo, a msg ORA-01555 *** NÂO TEM NADA VEZES NADA a ver com a ocupação da tablespace em si, o erro que dá quando se esgota espaço é outro, o que a 1555 significa é que vc tinha uma query rodando há um longo tempo, os dados foram modificados por outra sessão enquanto essa query estava rodando, e o segmento de undo aonde esses dados em "versão antiga" estavam foi re-aproveitado para outra sessão, a query não tem como os obter. Em se usando undo auto, a solução para isso, além de ter uma tablespace de undo grande o suficiente (10 Gb me parecem algo pequeno prum banco de ERP, que normalmente é batch, com queries lngas, triplique isso ao menos), implica que vc PEÇA PARA O BANCO reter a informação que poderá ser pedida pelas queries em ação alterando o parâmetro UNDO_RETENTION para PELO MENOS o tempo que a tua maior query leva, algumas horas normalmente. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "Luiz Fernando" <[EMAIL PROTECTED]> escreveu > > Bom dia! > > Alexsandro, não sei se essa é a solução (criar um segmento de Undo > grande para determinados statements) pois como disse em minha > primeira postagem, não está ocorrendo estouro da tablespace de > Undo... o erro ORA-01555 acontece antes mesmo da Undo ter ocupação > superior a 10%. Além disso, o aplicativo que roda por tráz é um ERP > (EMS Datasul) e não podemos alterar os códigos sem uma extensa > burocracia interna. > > De qquer forma, muitíssimo obrigado pela ajuda... > > [ ]s > > lfr66 > > --- Em oracle_br@yahoogrupos.com.br, Alexsandro Pereira > escreveu > > > > Luiz Fernando, > > > > tivemos num cliente antigo, um problema semelhante em algumas > procedures pesadas que rodavam à noite também. O que fizemos para > resolver este problema foi criar um grande segmento de rollback e no > início do processamento, colocamos a instrução "SET TRANSACTION USE > ROLLBACK SEGMENT ;" para que este fosse usado pela > procedure. > > > > Eu sei que dependendo das transações e de quantos procedimentos > rodem ao mesmo tempo, isto pode não ser garantia de sucesso. Mas pode > ser uma saída. > > > > Atenciosamente, > > Alexsandro Pereira. > > En-Sof. > > > > - Mensagem original > > De: Luiz Fernando > > Para: oracle_br@yahoogrupos.com.br > > Enviadas: Quinta-feira, 3 de Maio de 2007 21:30:07 > > Assunto: [oracle_br] ORA-01555 snapshot too old > > > > > > > > > > > > > > > > > > > > > > > > > > > > Boas pessoal, > > > > > > > > rdbms 9i (9.2.0.7 ee) > > > > hp-ux 11.11 > > > > > > > > seguinte: a alguns dias o alert.log tem mostrado msgs ORA-01555 > > > > (snapshot too old). Como estas msgs começaram a aparecer durante a > > > > madrugada, onde tbém está rodando o backup online, achei que o > > > > segmento de Undo havia estourado. Pra não perder muito tempo com > > > > isso, simplesmente aumentei em 50% a Undo tablespace. > > > > > > > > Acontece que os erros continuam a aparecer. Da última vez, estava > > > > vendo a ocupação da tablespace quando uma nova msg ORA-01555 surgiu > > > > no alert.log. > > > > > > > > Aí surgiu minha dúvida: no momento da geração do erro, a ocupação > da > > > > Undo estava em 500Mb, que correspondem a apenas 5% da Undo (10Gb). > Se > > > > não está havendo estouro da Undo, o que pode estar gerando esses > > > > erros? > > > > > > > > Desde já, tks! > > > > > > > > lfr66 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > __ > > Fale com seus amigos de graça com o novo Yahoo! Messenger > > http://br.messenger.yahoo.com/ > > > > [As partes desta mensagem que não continham texto foram removidas] > > >
Re: Res: [oracle_br] ORA-01555 snapshot too old
Luiz Fernando, Bom dia! Experimente aumentar o valor do parâmetro UNDO_RETENTION. O tempo dele é em segundos. Como você disse que o problema acontece antes mesmo da tablespace de UNDO ser preenchida, pode ser esse o problema. ALTER SYSTEM SET UNDO_RETENTION = 21600; São 6 horas de retenção dos blocos na tablespace de undo, afim de garantir a leitura consistente. Abraços, Elberte. Em 04/05/07, Luiz Fernando <[EMAIL PROTECTED]> escreveu: > > Bom dia! > > Alexsandro, não sei se essa é a solução (criar um segmento de Undo > grande para determinados statements) pois como disse em minha > primeira postagem, não está ocorrendo estouro da tablespace de > Undo... o erro ORA-01555 acontece antes mesmo da Undo ter ocupação > superior a 10%. Além disso, o aplicativo que roda por tráz é um ERP > (EMS Datasul) e não podemos alterar os códigos sem uma extensa > burocracia interna. > > De qquer forma, muitíssimo obrigado pela ajuda... > > [ ]s > > lfr66 > > --- Em oracle_br@yahoogrupos.com.br , > Alexsandro Pereira > <[EMAIL PROTECTED]> escreveu > > > > Luiz Fernando, > > > > tivemos num cliente antigo, um problema semelhante em algumas > procedures pesadas que rodavam à noite também. O que fizemos para > resolver este problema foi criar um grande segmento de rollback e no > início do processamento, colocamos a instrução "SET TRANSACTION USE > ROLLBACK SEGMENT ;" para que este fosse usado pela > procedure. > > > > Eu sei que dependendo das transações e de quantos procedimentos > rodem ao mesmo tempo, isto pode não ser garantia de sucesso. Mas pode > ser uma saída. > > > > Atenciosamente, > > Alexsandro Pereira. > > En-Sof. > > > > - Mensagem original > > De: Luiz Fernando <[EMAIL PROTECTED]> > > Para: oracle_br@yahoogrupos.com.br > > Enviadas: Quinta-feira, 3 de Maio de 2007 21:30:07 > > Assunto: [oracle_br] ORA-01555 snapshot too old > > > > > > > > > > > > > > > > > > > > > > > > > > > > Boas pessoal, > > > > > > > > rdbms 9i (9.2.0.7 ee) > > > > hp-ux 11.11 > > > > > > > > seguinte: a alguns dias o alert.log tem mostrado msgs ORA-01555 > > > > (snapshot too old). Como estas msgs começaram a aparecer durante a > > > > madrugada, onde tbém está rodando o backup online, achei que o > > > > segmento de Undo havia estourado. Pra não perder muito tempo com > > > > isso, simplesmente aumentei em 50% a Undo tablespace. > > > > > > > > Acontece que os erros continuam a aparecer. Da última vez, estava > > > > vendo a ocupação da tablespace quando uma nova msg ORA-01555 surgiu > > > > no alert.log. > > > > > > > > Aí surgiu minha dúvida: no momento da geração do erro, a ocupação > da > > > > Undo estava em 500Mb, que correspondem a apenas 5% da Undo (10Gb). > Se > > > > não está havendo estouro da Undo, o que pode estar gerando esses > > > > erros? > > > > > > > > Desde já, tks! > > > > > > > > lfr66 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > __ > > Fale com seus amigos de graça com o novo Yahoo! Messenger > > http://br.messenger.yahoo.com/ > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > [As partes desta mensagem que não continham texto foram removidas]
Re: Res: [oracle_br] ORA-01555 snapshot too old
Bom dia! Alexsandro, não sei se essa é a solução (criar um segmento de Undo grande para determinados statements) pois como disse em minha primeira postagem, não está ocorrendo estouro da tablespace de Undo... o erro ORA-01555 acontece antes mesmo da Undo ter ocupação superior a 10%. Além disso, o aplicativo que roda por tráz é um ERP (EMS Datasul) e não podemos alterar os códigos sem uma extensa burocracia interna. De qquer forma, muitíssimo obrigado pela ajuda... [ ]s lfr66 --- Em oracle_br@yahoogrupos.com.br, Alexsandro Pereira <[EMAIL PROTECTED]> escreveu > > Luiz Fernando, > > tivemos num cliente antigo, um problema semelhante em algumas procedures pesadas que rodavam à noite também. O que fizemos para resolver este problema foi criar um grande segmento de rollback e no início do processamento, colocamos a instrução "SET TRANSACTION USE ROLLBACK SEGMENT ;" para que este fosse usado pela procedure. > > Eu sei que dependendo das transações e de quantos procedimentos rodem ao mesmo tempo, isto pode não ser garantia de sucesso. Mas pode ser uma saída. > > Atenciosamente, > Alexsandro Pereira. > En-Sof. > > - Mensagem original > De: Luiz Fernando <[EMAIL PROTECTED]> > Para: oracle_br@yahoogrupos.com.br > Enviadas: Quinta-feira, 3 de Maio de 2007 21:30:07 > Assunto: [oracle_br] ORA-01555 snapshot too old > > > > > > > > > > > > > > Boas pessoal, > > > > rdbms 9i (9.2.0.7 ee) > > hp-ux 11.11 > > > > seguinte: a alguns dias o alert.log tem mostrado msgs ORA-01555 > > (snapshot too old). Como estas msgs começaram a aparecer durante a > > madrugada, onde tbém está rodando o backup online, achei que o > > segmento de Undo havia estourado. Pra não perder muito tempo com > > isso, simplesmente aumentei em 50% a Undo tablespace. > > > > Acontece que os erros continuam a aparecer. Da última vez, estava > > vendo a ocupação da tablespace quando uma nova msg ORA-01555 surgiu > > no alert.log. > > > > Aí surgiu minha dúvida: no momento da geração do erro, a ocupação da > > Undo estava em 500Mb, que correspondem a apenas 5% da Undo (10Gb). Se > > não está havendo estouro da Undo, o que pode estar gerando esses > > erros? > > > > Desde já, tks! > > > > lfr66 > > > > > > > > > > > > > > > > > > > > > > > __ > Fale com seus amigos de graça com o novo Yahoo! Messenger > http://br.messenger.yahoo.com/ > > [As partes desta mensagem que não continham texto foram removidas] >