8.1.7.4.0
From: [email protected] [mailto:[email protected]] On Behalf Of Andre Santos Sent: quarta-feira, 20 de maio de 2009 10:14 To: [email protected] Subject: Re: [oracle_br] Set Transaction Eduardo Qual a versão do Oracle? [ ] André 2009/5/20 Eduardo Abrantes de Souza <[email protected] <mailto:Eduardo.Abrantes%40fgv.br> > > > > Esta é a parte principal. Agora eu te pergunto: set transaction use > rollback segment RBS_INAD, tem que ser via EXECUTE_IMMEDIATE, ou não > importa? Isto porque este comando parece não estar funcionando, pois o > segmento de rollback alocado não é o RBS_INAD. Ele pega um dos defaults. > Obrigado pela ajuda. Grande abraço. > > PROCEDURE CARGA_ANALISE_INADIMPLENCIA (p_hora_limite in number) > IS > PE_PROCESSO VARCHAR2(1000); > MENS_ERRO VARCHAR2(400); > v_mensagem varchar2(100); > ERRO EXCEPTION; > > BEGIN > set transaction use rollback segment RBS_INAD; > v_mensagem := null; > p_excluir_pedidos_15_dias(v_mensagem); > if v_mensagem is not null then > mens_erro := 'Erro ao excluir pedidos com mais de 15 dias '||v_mensagem; > raise erro; > end if; > CARGA_DADOS_FINANCEIRO (MENS_ERRO); > IF MENS_ERRO IS NOT NULL THEN > update SELEC_ANALISE_INADIMPLENCIA set CD_SIT_PEDIDO = 9 > where CD_SIT_PEDIDO = 0; > commit; > set transaction use rollback segment RBS_INAD; > RAISE ERRO; > END IF; > FOR C1 IN ( SELECT S.*,C.* > FROM SELEC_ANALISE_INADIMPLENCIA S, CONFIG_ANALISE_INADIMPLENCIA C > WHERE CD_SIT_PEDIDO IN (0) order by s.nr_pedido) > LOOP > if to_number(to_char(sysdate,'hh24mi')) >= p_hora_limite > then > insert into fcbatch values ('ANL_INAD','Ultrapassou Hora Limite > '||to_char(p_hora_limite,'0999')||' '||to_char(sysdate,'dd/mm/yy > hh24:mi:ss'),NULL,to_char(sysdate,'dd/mm/yy > hh24:mi:ss'),userenv('SESSIONID'),SYSDATE); > commit; > set transaction use rollback segment RBS_INAD; > exit; > end if; > insert into fcbatch values ('ANL_INAD',' Fim da execucao do pedido > '||c1.nr_pedido||' -> '||to_char(sysdate,'dd/mm/yy > hh24:mi:ss'),to_char(sysdate,'dd/mm/yy > hh24:mi:ss'),NULL,userenv('SESSIONID'),SYSDATE); > commit; > set transaction use rollback segment RBS_INAD; > END LOOP; > commit; > set transaction use rollback segment RBS_INAD; > > EXCEPTION > WHEN OTHERS THEN > MENS_ERRO := 'Erro na procedure CARGA_ANALISE_INADIMPLENCIA -> '||SQLERRM; > commit; > set transaction use rollback segment RBS_INAD; > END; > > -----Original Message----- > From: [email protected] <mailto:oracle_br%40yahoogrupos.com.br> > <oracle_br%40yahoogrupos.com.br>[mailto: > [email protected] <mailto:oracle_br%40yahoogrupos.com.br> > <oracle_br%40yahoogrupos.com.br>] On Behalf > Of Júlio César Corrêa > Sent: terça-feira, 19 de maio de 2009 22:54 > To: [email protected] <mailto:oracle_br%40yahoogrupos.com.br> > <oracle_br%40yahoogrupos.com.br> > Subject: Re: [oracle_br] Set Transaction > > Passa o código ou trecho dele. > > 2009/5/19 Eduardo Abrantes de Souza <[email protected] > <mailto:Eduardo.Abrantes%40fgv.br> <Eduardo.Abrantes%40fgv.br> > > > > > > > > > Cara, o que seria 'Transação autonoma'? Este comando está em uma > procedure > > que faz parte de uma package e é o primeiro comando a ser executado. > > > > > > -----Original Message----- > > From: [email protected] <mailto:oracle_br%40yahoogrupos.com.br> > > <oracle_br%40yahoogrupos.com.br><oracle_br% > 40yahoogrupos.com.br>[mailto: > > [email protected] <mailto:oracle_br%40yahoogrupos.com.br> > > <oracle_br%40yahoogrupos.com.br><oracle_br% > 40yahoogrupos.com.br>] On Behalf > > Of Júlio César Corrêa > > Sent: terça-feira, 19 de maio de 2009 13:05 > > To: [email protected] <mailto:oracle_br%40yahoogrupos.com.br> > > <oracle_br%40yahoogrupos.com.br><oracle_br% > 40yahoogrupos.com.br> > > Subject: Re: [oracle_br] Set Transaction > > > > Tem transação autonoma? > > > > 2009/5/19 Eduardo Abrantes de Souza <[email protected] > > <mailto:Eduardo.Abrantes%40fgv.br> <Eduardo.Abrantes%40fgv.br> > <Eduardo.Abrantes%40fgv.br> > > > > > > > > > > > > > > Caros amigos do grupo, > > > > > > Estou com um problema em minha instalação e/ou procedure: > > > > > > Na procedure tenho o seguinte comando: set transaction use rollback > > segment > > > RBS_INAD. > > > > > > Não é sempre, mas às vezes acontece o seguinte erro: ORA-01453: SET > > > TRANSACTION must be first statement of transaction. > > > > > > E já houve casos que deu o seguinte erro: ORA-01555: snapshot too old: > > > rollback segment number 6 with name "R05" too small. > > > > > > Sendo assim, gostaria de saber se existe alguma maneira dentro da > > procedure > > > de confirmar se o segmento de rollback foi realmente setado, pois a > > > aplicação está usando, em algumas execuções, o segmento de rollback > > default. > > > > > > > > > Qual seria a melhor maneira de se realizar esta operação com segurança? > > > > > > Grande abraço a todos. > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > -- > > Júlio César Corrêa > > IS Technologist - Oracle DBA > > www.dbajccorrea.com > > > > "To stay competitive in the tech industry, never stop > > learning. Always be on the lookout for better ways of > > doing things and new technologies. Our industry does > > not reward people who let themselves stagnate" > > -John Hall, Senior Vice President, Oracle University > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > > > ---------------------------------------------------------- > > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > > inteira responsabilidade de seus remetentes. > > Acesse: http://www.mail-archive.com/[email protected]/ > > ---------------------------------------------------------- > > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » > Procedure > > » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > > http://www.oraclebr.com.br/ > > ---------------------------------------------------------- Links do > Yahoo! > > Grupos > > > > > > > > -- > Júlio César Corrêa > IS Technologist - Oracle DBA > www.dbajccorrea.com > > "To stay competitive in the tech industry, never stop > learning. Always be on the lookout for better ways of > doing things and new technologies. Our industry does > not reward people who let themselves stagnate" > -John Hall, Senior Vice President, Oracle University > > [As partes desta mensagem que não continham texto foram removidas] > > ------------------------------------ > > ---------------------------------------------------------- > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > inteira responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/[email protected]/ > ---------------------------------------------------------- > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure > » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > http://www.oraclebr.com.br/ > ---------------------------------------------------------- Links do Yahoo! > Grupos > > > [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
