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]

Responder a