Otomatik depolama kullandığınızı tahmin edeceğim. (Bunun başka türlü olabileceğinden değil ... bunun otomatik depolama ile gerçekleşmesi kolaydır.)
Sorun büyük olasılıkla veritabanınızın kendisi için alanı geri alması, ancak diski işletim sistemine geri bırakmamasıdır. Bu, masa alanı için Yüksek Su İşaretini kontrol ederek çok kolay bir şekilde gösterilebilir.
Aşağıdakileri yapın
db2 list tablespaces show detail
Bu size her tablo alanını ve diskte ne kullandığını gösterecektir. Used pages
veritabanının kaç sayfa disk kullandığını gösterir. Bunu karşılaştırmak total pages
(diskte talep edilen toplam) ve High water mark (pages)
irade size gerçekten ihtiyacınız olandan daha fazlasını talep edip etmediğinizi gösterecektir. (örneğin, az kullanılan sayfalar, çok yüksek toplam sayfalar ve toplam sayfalara yakın Yüksek Su İşareti).
Bu kullanılmayan alan kurtulmak ve (otomatik depolama altında) aşağıdakileri çıkaracağını işletim sistemine geri döndürmek için: db2 alter tablespace <tablespace name> reduce max
. misal
db2 alter tablespace ts1 reduce max;
Bu, DB2'nin yüksek su işaretini düşürmesine ve kullanılmayan diski işletim sistemine geri bırakmasına neden olur. (Bunu, sistem geçici veya kullanıcı geçici tablo alanları için değil, yalnızca normal ve büyük tablo alanları için yapabileceğinizi unutmayın).
Otomatik depolama olmadan DMS kullanıyorsanız, biraz farklı bir komut seti kullanmanız gerekir:
db2 alter tablespace <tablespace name> lower high water mark;
db2 alter tablespace reduce (<containter name> or [all containers] integer K|M|G or integer PERCENT);
misal
db2 alter tablespace ts1 lower high water mark;
db2 alter tablespace reduce (all containers 500 M);
Çalıştığımız yerde, bunu bazı bakım komut dosyalarımıza koyduk, böylece disk alanını geri kazandığımızdan emin olmak için yeniden yaptığımızda bunu otomatik olarak çalıştırıyoruz. Bizim durumumuzda DB2 LUW 9.7 FP 4 kullanıyoruz, bu nedenle sürümünüz için doğru bilgilere erişebildiğinizden emin olmak için Bilgi Merkezi'ni 9.5 için iki kez kontrol etmek zarar vermez.
DÜZENLEME: Tablo alanlarınız DB2 9.7'ye yükseltilmiş bir veritabanından geldiyse, muhtemelen geri kazanılabilir depolama özniteliği ayarlanmaz. Bu, DMS'den otomatik depolamaya yükseltseniz bile geçerlidir. Her iki şekilde de ısırırsınız, çünkü yüksek su işaretini gerçekten düşüremezsiniz. Tablo ve verileri boşaltmanız, tablo boşluklarını bırakmanız gerekir. Ardından otomatik depolama alanını kullanarak tablo alanını yeniden oluşturun ve tablolarınız için verileri içe aktarın.