Défragmentation via shrink prend 1 seconde
Bonjour
J'ai des table fragmentée a plus de 10 %
j'essaye de les defragmenter via shrink compact
1 : j'ai bien des tablespace en auto extend
2 : j'ai bien acitver le row movement.
3 : j'ai pas d'index ni rien sur ma table
le shrink compact prend 1 seconde et il me dit que c'est bon
je fais ca :
Code:
1 2 3
| alter table MA TABLE enable row movement
alter table MA TABLE shrink SPACE compact
exec dbms_stats.gather_table_stats(MA TABLE); |
et quand je fais
Code:
1 2 3 4 5 6
| select
owner,table_name,round((blocks*8),2)||'kb' "Fragmented size",
round((num_rows*avg_row_len/1024),2)||'kb' "Actual size",
round((blocks*8),2)-round((num_rows*avg_row_len/1024),2)||'kb',
((round((blocks*8),2)-round((num_rows*avg_row_len/1024),2))/round((blocks*8),2))*100-10 "reclaimable space %"
from dba_tables where table_name ='Ma table' |
il me dit que je peut recupérer 10 % d'espace.
j'ai changé le PCFREE de la table qui etait a 10 %. je me disais que ca venait de là.
j'ai mis le PCFREE a 2 % pour voir si la procedure prendrait du temps. mais rien n'y fait.
Dois je en déduire que ma table est optimisée niveau defrag ?
il y a t'il un problème quelque part ?
merci de m'aider