A msgs é clara : vc TEM dados alocados acima dos 18 m para os quais vc está 
tentando diminuir o datafile.... Tecnicamente a alocação de espaço nos 
datafiles Oracle funciona assim : a cada necessidade de utilização num 
datafile, um EXTENT (um pedação de arquivo, de tamanho variável, um monte de 
blocos Oracle contínuos) é marcado como EM USO no datafile, e os blocos desse 
extent vão sendo populados preenchidos.... Imagine (para exemplificar) que os 
seus extents são de tamanho fixo de 1 megabyte, e que vc inseriu 20 mB de 
dados, vc teria 20 extents... Quando da remoção dos dados (digamos, vc fez 
remoção , os dados que eventualmente sobrem NÂO SÃO realocados para extents 
vazios, por questão de performance, evitando I/Os desnecessários de montão. 
Digamos que os extents de 1 a 19 ficaram vazios MAS o extent 20 não, nesse caso 
vc NÂO CONSEGIRÁ fazer resize para menos de 20 Mb... Com Certeza é esse o seu 
caso : consulte a DBA_EXTENTS que certamente vc vai ver que é Esse o seu caso, 
aí vc OU move os dados restantes, OU pede algum shrink/coalesce na tablespace...
  
   []s
   
     Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Ednilson Silva" <ednilson.silva@...> 
escreveu
>
> Pessoal,
> 
>  
> 
> Estou tentando fazer um resize em alguns datafile, mas esta aparecendo o
> erro ORA03297
> 
>  
> 
> SQL> alter database datafile '/d12/oradata/app/abmx01.dbf' resize 18m;
> 
> alter database datafile '/d12/oradata/app/abmx01.dbf' resize 18m
> 
> ORA-03297: file contains used data beyond requested RESIZE value
> 
>  
> 
> Oracle Database 9i – Release 9.2.0.5
> 
> HP-UX B.11.31 U ia64
> 
>  
> 
> Alguém poderia dar uma ajuda?
> 
>  
> 
> Grato,
> 
>  
> 
> Ednilson Silva
> 
>  
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a