Opa Chiappa, Exato, falei errado. Gerenciado Automático de Espaço (SEGMENT SPACE MANAGEMENT AUTO) :P
O cenário é exatamente este! Vários schemas (um para cada cliente) com tabelas idênticas, muitas vezes export/import feito pelo próprio cliente para se criar schemas novos, tabelas pequenas e algumas poucas bem grandes. Vou agendar um MOVE destes objetos com uma redefinição de parâmetros de STORAGE e analisar os resultados. Mais uma vez obrigado. Sds, Marcelo 2009/9/29 jlchiappa <jlchia...@yahoo.com.br> > > > Segue : > > > > Ok, vamos lá: > > O banco é 10.2.0.4 64bits Linux, a tablespace é gerenciada localmente, > > > usando gerenciamento automático de segmentos. > > "gerenciamento automático de segmentos" não faz sentido, deve ser > "gerenciamento automático de ** ESPAÇO ** nos segmentos" , ou seja, o > PCTFREE/PCTUSED, quanto espaço é livre pra INSERTs e quanto fica reservado > para UPDATEs , mas isso é NOS BLOCOS, dificilmente isso ia influenciar o > cenário em questão .... > > > SEGMENT SPACE MANAGEMENT AUTO > > OK, confirmando que é gerenciamento automático de ESPAÇO dentro dos > segmentos, ok ... > > > FLASHBACK ON; > > > > Sum na DBA_SEGMENTS (em MB): 24403,5625 > > Sum na DBA_DATA_FILES (em MB): 30000 > > > Não consegui enxergar nada na dba_free_space. > > se não há nada pra essa tablespace na DBA_FREE_SPACE não deve ter espaço > livre, o que DEVE ter espaço é alocado mas não usado devido à extents > enormemente grandes... > > > > > Ao consultar a DBA_SEGMENTS, vi que o NEXT_EXTENT está vazio > (provavelmente > > por causa do gerenciamento automático) > > sim, isso mesmo... > > >> mas achei os INITIAL_EXTENT de > > algumas tabelas muito altos (1167523840, 412876800, 377880576, etc). > > bingo ! vc achou a causa, muito certamente.... Veja vc, o banco Oracle > SEMPRE aloca espaço por extents, E mesmo uma tabela vazia ao ser criada ele > já aloca um extent pra ela : com esses INITIALs absolutamente MALUCOS , > assim que vc criar uma tabela de cara ele já alocou eses milhões todos aí > (divididos em extents de 64 Kb, depois 1 Mb, já que é AUTO, mas quantos > extents forem necessários pra obedecer à esse INITIAL doido) - aposto um > picolé de limão que o que vc tem aísão tabelas PEQUENAS mas com montes de > espaços em branco sem uso no extent inicial, o que consumiu rapidamente o > seu espaço disponível, aí quando o bd tenta alocar espaço na tablespace não > encontra, pois o que havia está alocado (embora sem uso), aí só quando vc > adiciona mais espaço livre é que ele consegue crescer.... Não tem o que > pensar, é REALOCAR esses extents absurdos, seja com MOVE/REBUILD seja com > DBMS_REDEF, sim... Um detalhe, muitas vezes quando vc vê extents assim tão > grandes foi porque neguinho fez IMPORT de um EXPORT aonde ** não ** foi > especificado COMPRESS=N, aí ele 'somou' os extents totais do origem no > INITIAL do destino... > > []s > > Chiappa > > > [As partes desta mensagem que não continham texto foram removidas]