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]

Responder a