Aninha, não vamos misturar estaçoes aqui : no 9i, vc tem a opção de ter rollback/undo automático ou manual, mas vc ** CONTINUA SIM ** tendo normalmente segmentos de rollback (ou undo, é a mesma coisa, rollback=undo), cfrme :
[EMAIL PROTECTED]:SQL>show parameters undo NAME TYPE VALUE -------------------- ------- ------------------------------ undo_management string AUTO undo_retention integer 57600 undo_suppress_errors boolean FALSE undo_tablespace string UNDO_TABLESPACE [EMAIL PROTECTED]:SQL>select * from dba_rollback_segs; SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID FILE_ID BLOCK_ID INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE STATUS INSTANCE_NUM RELATIVE_FNO ----------------------------------- ---------------- ----------------- ------------- ------------------ ------------------ ------------------ ------------------ ------------------ ------------------ ------------ ------ ------------------ ---------------- --------------------------- ------------- ------------------ SYSTEM SYS SYSTEM 0 1 2 57344 57344 2 505 0 ONLINE 1 _SYSSMU1$ PUBLIC UNDO_TABLESPACE 1 208 9 131072 2 32765 ONLINE 208 _SYSSMU2$ PUBLIC UNDO_TABLESPACE 2 208 25 131072 2 32765 ONLINE 208 _SYSSMU3$ PUBLIC UNDO_TABLESPACE 3 208 41 131072 2 32765 ONLINE 208 _SYSSMU4$ PUBLIC UNDO_TABLESPACE 4 208 57 131072 2 32765 ONLINE 208 _SYSSMU5$ PUBLIC UNDO_TABLESPACE 5 208 73 131072 2 32765 ONLINE 208 .......... Então ESTÂO AQUI sim os segmentos de rollback, o que ocorre é que com undo_management automático os TAMANHOS e a FREQUÊNCIA de criação/uso deles não é mais controlada por vc ok ?? Quanto à questão de snapshot too old : sim, com undo_management=AUTO o algoritmo de management do 9i/10g tenta manter os segmentos de rollback disponíveis pelo tempo especificado em undo_retention, MAS obviamente SE houver SQLs que começaram há mais tempo do que o especificado em retention (e portanto precisem de precisem de dados alterados há mais tempo que isso), E/OU não houver espaço suficiente na tablespace de undo pra manter esse tempo, VAI DAR SIM snapshot too old, não há mágica aqui... Assim, se vc usa undo automático e está recebendo snapshot too old, é aumentar retention se preciso E aumentar o tamanho da tablespace de undo, provavelmente no seu caso principalmente aumentar a tablespace (4 Gb representam coisa de 5% de um disco comum num servidor de produção, que normalmente é de ao menos 80 Gb, é ** RIDÍCULO ** num banco não-trivial, aumente isso que provavelmente os erros sumirão... ===>> SE desejado, vc pode simplesmente especificar UNDO_MANAGEMENT=MANUAL nesse banco e aí criar e controlar na mão os segmentos de rollback, mas na maioria das vezes isso não é preciso, havendo espaço alocado e tendo undo_retention adequado normalmente o undo automático vai bem... Quanto à pergunta : colega, se o usuário é leigo/não conhece 9i de modo geral as sugestões dele devem entrar por uma orelha e sair por outra, sim ?? Afinal é vc (em tese) que é a tecnóloga, a especialista em bd, certo ? []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "profa_anacristina" <[EMAIL PROTECTED]> escreveu > > Bom dia Turma, > > Gostaria de tentar esclarecer uma dúvida qto ao funcionamento do > segmento de rollback e da tblspace de UNDO na versão 9i. Nosso > ambiente: windows 2000 Server, oracle 9.2.0.7.0. > > Trabalhando com o 8i, sabemos que qdo há uma transação pesada temos > condições de setar o segmento de rollback a ser usado. No 9i, temos > a tablespace de UNDO, onde sabemos/imaginamos que fazem a função do > segmento de rollback no 8i, mas há ainda o SEGMENTO de ROLLBACK > entre as estruturas de armazenamento do oracle 9i, nele há um objeto > único, o "SYSTEM". Confesso que não recordo se no 8i, este "SYSTEM" > tb existe dentre os arquivos de segmento de rollback que criamos de > acordo com a nossa necessidade. > > Enfim, temos um processamento pesado a ser rodado no 9i que toda vez > que o executamos, dá o erro: > ERROR at line 1: > ORA-01555: snapshot too old: rollback segment number 2 with > name "_SYSSMU2$" too small > > Daí a nossa pergunta, como pode dar snapshot too old no segmento de > rollback, se não temos segmento de rollback na estrutura do 9i e sim > a tblspace UNDO, que está hoje com 4Gb, sendo usada no exato momento > 183Mb? Outra coisa a ser citada, o nosso parâmetro > undo_retation=10800, significa que está com tempo de retenção de 3h. > > Como nosso usuário fim não é leigo e tem a noção do 8i, ele sempre > nos sugere aumentarmos o segmento de rollback ou criar um segmento > grande e setá-lo... rsrsrs(é de rir para não chorar), mas como fazer > isso se o 9i trabalha diferente?! :-( > > Vcs poderiam nos esclarecer qto a nossa dúvida da função do segmento > de rollback no 9i e da tblspace de UNDO? > > Grata desde já, > Aninha > -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __________________________________________________________________ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html