Sim : afora os bugzinhos que haviam no 8i e no 9i nos releases iniciais, imediatamente o espaço de rollback é liberado pra re-uso, exemplo (banco 9.2.0.5 com ** diversas ** transações rolando, umas dezenas de usuários conectados) :
[EMAIL PROTECTED]:SQL>BEGIN 2 for r in (select * from all_objects) loop 3 insert into BIG_TABLE(owner, object_name, object_type, created) 4 values(r.owner, r.object_name, r.object_type, r.created); 5 end loop; 6 END; 7 / [EMAIL PROTECTED]:SQL> [EMAIL PROTECTED]:SQL>@used_rollback_blocks; SEGMENT_NAME USERNAME SID SERIAL# USED_UBLK USED_UREC START_UBAFIL START_UBABLK START_UBAREC STATUS TABLESPACE_NAME SEGMENT_ID FILE_ID BLOCK_ID --------------- ---------------- ---- ------- ------------------ ----- ------------- ------------------ ------------------ ------------------ ---------------- ------------------------------ ------------------ -- ---------------- ------------------ ..... _SYSSMU10$ SCOTT 76 3351 27 2885 219 6644 3 ONLINE UNDO_TABLESPACE 10 208 153 [EMAIL PROTECTED]:SQL> ==> agora vou comitar : [EMAIL PROTECTED]:SQL>commit; [EMAIL PROTECTED]:SQL> [EMAIL PROTECTED]:SQL>@used_rollback_blocks; ... só retorna as outras linhas .... ===>> NOTAR, porém, que para obter boa performance, quando o banco Oracle larga de usar um espaço de rollback, ele *** NÂO *** faz I/O no disco diminuindo esse espaço em disco, ele simplesmente MARCA o espaço como "disponível" na lista interna dele, e as próximas transações "olham" na lista, encontram o espaço marcado como livre, e gravam por cima do que houver em disco, o script que usei justamente consulta essa "lista" : [EMAIL PROTECTED]:SQL>get used_rollback_blocks column sid format 999 column segment_name format a15 select b.segment_name, a.username, a.sid, a.serial#, c.used_ublk, c.used_urec,c.START_UBAFIL, c.START_UBABLK, c.START_UBAREC , b.status, b.TABLESPACE_NAME, b.SEGMENT_ID, b.FILE_ID, b.BLOCK_ID from v$session a, dba_rollback_segs b, v$transaction c where b.segment_id = c.xidusn and a.taddr = c.addr / [EMAIL PROTECTED]:SQL> Assim sendo, ** SE ** vc consultar as views que mostram espaço em disco, ou pedir um dir ou um ls, EM DISCO vc vai ver q o tamanho do arquivo de undo é o mesmo, MAS internamente o banco já marcou os espaços não-usados como livres, é isso.... []s Chiappa ============================================================ Participe do ENPO - Encontro de Profissionais Oracle 2005 ! Informações e inscrições em www.enpo-br.org José Laurindo Chiappa, Palestrante ENPO-2005 ============================================================ --- Em oracle_br@yahoogrupos.com.br, César <[EMAIL PROTECTED]> escreveu > Duvida quando eu faço commit depois de um monte de inserts libero espaço na tablespace de rollback instanteamente ? > > > > > --------------------------------- > Promoção Yahoo! Acesso Grátis: a cada hora navegada você > acumula cupons e concorre a mais de 500 prêmios! Participe! > > [As partes desta mensagem que não continham texto foram removidas] ORACLE_BR APOIA 2ºENPO-BR _____________________________________________________________________ O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 05/11/2005 no auditório da FIAP em São Paulo. Serão apresentadas Palestras e Cases dirigidos exclusivamente por profissionais especialistas e renomados no mercado. Confira a programação no site do evento! http://www.enpo-br.org/ _____________________________________________________________________ Area de download oracle_br - http://www.4shared.com/dir/101727/a4dcc423 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