Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IRIX

Set transaction

Recommended Posts

Pessoal o que significa esta instrução?set transaction use rollback segment rbs_big

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte,

 

Significa que durante a sua sessão, tu estará utilizando um segmento de rollback chamado RBS_BIG, nesse caso, você está especificando o ROLLBACK que irá utilizar na transação.

 

Geralmente é utilizado SET TRANSACTION ROLLBACK SEGMENT <nome>;, quando a transação é longa, muitas horas para finalizar e também com muitas instruções DML (INSERTs, DELETES ou UPDATES) sem COMMIT ou SAVEPOINT, depende sempre de processo para processo.

 

Caso sua transação seja longa e não utilize SET TRANSACTION, o Oracle Server irá lhe fornecer um segmento aleatoriamente para sua sessão, independente do tamanho, e se esse segmento fornecido não consiga armazenar todas as alterações que está ocorrendo na sua transação, o Oracle irá gerar um erro de SNAPSHOT TOO OLD para os usuários ou que não consegue extender o segmento de rollback.

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ótimo!, obrigado pela explicação!Agora quanto ao <nome>... qual deverá?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<nome> = é o nome do seu SEGMENTO DE ROLLBACK, que seja grande.Esse nome tu pode achar em :

select segment_name from dba_rollback_segs;

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.