Oracle’ da Shrink
Veri tabanımızdaki tablolar üzerinde sürekli insert , delete işlemi olduğu zaman tablo fermantasyona uğrar. Bunun sonucunda da boyutları olması gerektiğinden büyük olurlar. Çünkü delete işlemi tabloda yer açmaz , silinen bloğun üzerine yazılmaz bir sonraki data bloga yazılır.
Shrink işlemi tablonun kullanmış olduğu blokları re organize ederek dağınıklığı gideren dolayısıyla da olması gerektiği kadar blok kullanılmasını sağlayarak disk üzerinde yer kazanmanızdan sağlayan bir işlem olarak tanımlayabiliriz.
Yapılırken dikkat edilmesi gerekenler
- Tablonuzun bos olmasına dikkat edin.
Örnek Uygulama
truncate table tablo_adi; commit;
tablomuzu Temizliyoruz ve commit ile kayit ediyoruz
alter table tablo_adi enable row movement;commit;
Tablonun row movement özelliği aktif ediyoruz ve kayıt ediyoruz
alter table tablo_adi shrink space cascade;commit;
Tablo için shrink temizleme islemini çalisitiyoruz boyuta göre zaman alan bir uygulamadir
alter table tablo_adidisable row movement;commit;
Tablonun row movement özelligi tekrar pasif ediyoruz
Simdi tablonun son boyut bilgisine bakalım
SELECT
owner sahip,segment_name tablo,tablespace_name alansahibi,bytes/1048576 Boyut,’MB’ MB
–sum(bytes/1048576) boyut
FROM
DBA_SEGMENTS
WHERE
SEGMENT_NAME like ‘ISLEMYAP’
ORDER BY Boyut DESC
Ali Şahan Blog Bir avuç SQL C# Oracle Lunix