Chiappa, o link do askton não está abrindo, vc poderia confirmar por gentileza.
 
De qualquer forma estou checando nos docs o uso do comando RESIZE.
 
Vlw.
 
Paulo.
 

________________________________
 De: J. Laurindo Chiappa <jlchia...@yahoo.com.br>
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 29 de Agosto de 2012 18:53
Assunto: [oracle_br] Re: espaço database
  
 
   
 
Bom, primeiro vc Não Diz mas IMAGINO que não estás usando ASM, nem raw, nem 
qquer solução proprietário/invisível ao SO : deve ser um cooked filesystem ou 
similar, portanto é o SO que manipula o espaço, certo ? Muito bem, nesse 
cenário quando vc diz "realocar espaço", imagino que o que vc quer é REMOVER 
dos datafiles os extents (pedaços de espaço) hoje sem uso, para os devolver ao 
SO e portanto permitir que esses espaços seja realocado para Outros 
datafiles/tablespaces, correto ???? Atenção para o importante detalhe que, se 
os próximos INSERTs que vão ocorrer no sistema forem em tabelas que usam A 
MESMA tablespace aonde vc tem espaço livre hoje, os extents vazios VÃO SER SIM 
REUSADOS naturalmente, okdoc ? Não faz o MENOR SENTIDO vc ter o trabalho de 
de-alocar se o espaço VAI ser usado brevemente....

Muito bem : caso vc chegou até aqui, realmente vc precisa/quer devolver espaço 
pro SO, tem certeza que a tablespace que está no momento vazia *** não *** vai 
mais ser usada brevemente, ok ? O procedimento em si é simples, e pode ser :

a) caso a(s) tablespace(s) de onde vc dropou/deletou/removeu objs ficou/ficaram 
totalmente vazia(s), vc pode dar um DROP TAbLESPACE nomedatablespace INCLUDING 
CONTENTS AND DATAFILES, que o espaço volta totalmente para o SO

ou

b) se vc tem pouquinhos objetos, e de tamanho pequeno/médio sobrando na 
tablespace, considere a possibilidade de os mover/recriar em outra tablespace 
(ALTER TABLE nnn MOVE / ALTER INDEX xxx REBUILD / DBMS_REDEFINE, drop+recriação 
dos objetos, etc) , livrando a tablespace original que aí pode ser dropada como 
acima

ou

c) vc pode devolver o espaço segmento por segmento, é o comando SHRINK, veja a 
doc para alter table xxx shrink space compact - REPARE que isso implica em 
movimentação de dados, então Exige que a tabela esteja com row movement enable

ou

d) o mais efetivo e fácil, que não tem nenhum pré-req, não implica em nenhum 
tipo de overhead, etc : é DIMINUIR o tamanho dos datafiles, o que libera o 
espaço diminuído de volta para o SO : o comando é RESIZE, além da doc Oracle 
pra tua versão, veja em 
http://asktomboraclebcom/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1388955800346448370
 que a thread discute bastante os detalhes, E te dá um útil script paera 
calcular o máximo  que vc pode diminuir - isto ocorre pelo seguinte : imagine 
que vc tem num datafile dados para a tabela A, a tabela b e a tabela C (cada 
extent de cada segmento representados respectivamente por a, b e c) e algum 
espaço não-usado, representado por pontinhos :

aaaaaaaaaaaaaaabbbbbbbbbbbbbbbcccccccccc.......

se vc deletar os dados todos de B ou dropar B, o que vc vai ter é :

aaaaaaaaaaaaaaa...............cccccccccc....... 

repare que há dados acima do espaço livre interno, então vc Só Consegue fazer 
RESIZE até o início do espaço livre externo, ie, imediatamente após o último 
espaço usado pela tabela C, certo ? Nesse caso, se esse espaço entre A e C 
realmente é significativo, vc precisa realocar A e C, com qquer das opções em 
b) ou c) , ok ?

[]s

Chiappa

OBS : que fique Claro, a presença de espaços em branco entre segmentos dentro 
de um datafile ******* NÂO ******* interfere em performance, NÂO é por si só 
considerado Fragmnentação porque o RDBMS Oracle ****** NUNCA ******* lê um 
datafile do começo ao fim, varrendo-o sequencialmente , ok ??? O I/O num 
datafile Oracle OU é bloco-a-bloco (se for acesso via index, tipicamente) OU é 
por extent multiblock (casos de table-scan/index full scan) - Nunca nenhum 
desses implica el ler datafile do começo ao fim, E extents nunca tem "buracos" 
no meio, são sempre contíguos, então REPITO, não pega NADA vezes NADA para 
performance a situação acima representada....



--- Em mailto:oracle_br%40yahoogrupos.com.br, Paulo Couto <paulopcto2002@...> 
escreveu
>
> Prezados, preciso realocar os espaços no oracle, tabela, ou tablespace ou 
> base toda, para recuperar espaço dos objetos deletados e que já limpei da 
> lixeira.
>  
> Alguém tem algum procedimento ?
>  
> Atenciosamente,
>  
> Paulo.
> 
> 
> ________________________________
>  De: Paulo Couto <paulopcto2002@...>
> Para: "mailto:oracle_br%40yahoogrupos.com.br"; 
> <mailto:oracle_br%40yahoogrupos.com.br> 
> Enviadas: Terça-feira, 28 de Agosto de 2012 14:13
> Assunto: Re: [oracle_br] espaço database
> 
> 
>   
> 
> Rodrigo, realmente haviam objetos na lixeira, então executei o purge para 
> limpar.
>  
> Uma outra dúvida, como faço para recuperar o espaço físico quando eliminamos 
> objetos na base uma vez que já está alocado no datafile ?
>  
> Att,
>  
> Paulo.
> 
> 
> ________________________________
> De: Rodrigo Mufalani <mailto:rodrigo%40mufalani.com.br>
> Para: mailto:oracle_br%40yahoogrupos.com.br 
> Enviadas: Terça-feira, 28 de Agosto de 2012 13:39
> Assunto: Re: [oracle_br] espaço database
> 
> 
>   
> 
> 
> Boa tarde Paulo,
> 
>   Grandes chances de seus objetos ainda  estarem na recyclebin (e com isso
> você os está backupeando). Verifique  se há objetos com o select abaixo:
> 
> SQL>
> select * from dba_recyclebin;
> 
>  Ou verifique no log do backup se há objetos com a nomenclatura
> parecida com essa "BIN$xu8L4RpVXIDgQAAKAQdCeg==$0"
> 
>    logue-se como sys e emita o
> comando:
> 
> SQL> purge dba_recyclebin;
> 
> DBA Recyclebin purged.
> 
> Atenciosamente,
> 
> Rodrigo Mufalani
> Oracle Ace Member
> http://www.mufalani.com.br/
> 
> Amigos, fiz uma
> limpeza de alguns schema owners antigos e pela soma dos segments eliminou 
> mais de 5 GB de dados.
>  
> Porém percebi que no backup lógico que fazemos pelo EXP não diminuiu.
>  
> Eu
> já esperava que no backup fisico do RMAN não diminuisse mas que no lógico 
> deveria dimuir.
>  
> Alguém tem idéia de porque não diminuiu e como faço para reorganizar e
> recuperar o espaço eliminado na base ?
>  
> Abs,
>  
> Paulo.
> 
> [As partes
> desta mensagem que não continham texto foram removidas]
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>

   
         

[As partes desta mensagem que não continham texto foram removidas]

Responder a