Acredito que entendi isso sim. Deixei a UNDO sem autoextend para reusar blocos dos segmentos de rollback ja comitados. Imaginei que isso deveria causar o erro por ser a tablespace bem pequena. Obrigado.
> Oi André, bom dia... > Apenas para checarmos alguns dados, como está configurada sua TS de UNDO? > Ela está configurada com autoextend? > Uma coisa que vc precisa ter em mente é que o UNDO_RETENTION **NÃO** tem > função alguma se tua TS de undo não estiver em autoextend. Ele vai > simplesmente utilizar o máximo que conseguir da TS, veja: > > ************* > UNDO_RETENTION specifies (in seconds) the low threshold value of undo > retention. For AUTOEXTEND undo tablespaces, the system retains undo for at > least the time specified in this parameter, and automatically tunes the > undo > retention period to satisfy the undo requirements of the queries. For > fixed- > size undo tablespaces, the system automatically tunes for the maximum > possible undo retention period, based on undo tablespace size and usage > history, and ignores UNDO_RETENTION unless retention guarantee is enabled. > > The setting of this parameter should account for any flashback > requirements > of the system. Automatic tuning of undo retention is not supported for > LOBs. > The RETENTION value for LOB columns is set to the value of the > UNDO_RETENTION parameter. > > The UNDO_RETENTION parameter can only be honored if the current undo > tablespace has enough space. If an active transaction requires undo space > and the undo tablespace does not have available space, then the system > starts reusing unexpired undo space. This action can potentially cause > some > queries to fail with a "snapshot too old" message. > > The amount of time for which undo is retained for the Oracle Database for > the current undo tablespace can be obtained by querying the > TUNED_UNDORETENTION column of the V$UNDOSTAT dynamic performance view. > ************* > > Abraço. > Em 17/12/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> escreveu: >> >> Amigos. >> Para fins educativos, estou tentando provocar a ocorrencia de um erro >> ORA >> 1555, o famoso snapshot too old, para demonstrar o funcionamento do >> banco >> , etc etc ..., acertando parametros para nao ocorrer o erro, etc ... >> >> Ja setei meu UNDO_RETENTION para 10, tablespace de UNDO para 5Mb. >> >> Quando disparo uma consulta pesada, faco update em seguida sobre campos >> usados na query e continuo fazendo comcomitantemente uma serie de >> updates >> com commit em varios outros campos de outras tabelas para preencher os >> 5mb >> de UNDO, mas a consulta sempre termina sem gerar o ORA 1555. >> >> No google tem uma serie de topicos sobre o assunto, mas eu gostaria de >> saber se alguem tem um script, sei la, que force a ocorrencia do ORA >> 1555, >> para poder se modificar os parametros depois e tentar resolve-lo. >> >> Banco: Oracle XE 10 >> >> Obrigado. >> >> >> > > > [As partes desta mensagem que não continham texto foram removidas] > >
