Re: Res: [oracle_br] ORA-01555 snapshot too old

2007-05-04 Por tôpico jlchiappa
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

2007-05-04 Por tôpico Elberte Pongelupe
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

2007-05-04 Por tôpico Luiz Fernando
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]
>