Saya akan menebak bahwa Anda menggunakan penyimpanan otomatis. (Bukan berarti ini bisa terjadi sebaliknya ... hanya saja mudah terjadi dengan penyimpanan otomatis.)
Masalahnya adalah kemungkinan besar bahwa database Anda mengambil kembali ruang untuk dirinya sendiri tetapi tidak melepaskan disk kembali ke sistem operasi. Ini dapat ditampilkan dengan sangat mudah dengan memeriksa Tanda Air Tinggi untuk tablespace.
Lakukan yang berikut ini
db2 list tablespaces show detail
Ini akan menunjukkan kepada Anda setiap tablespace dan apa yang digunakan pada disk. Used pages
adalah berapa banyak halaman disk yang digunakan database. Membandingkannya dengan total pages
(total diklaim pada disk) dan High water mark (pages)
akan menunjukkan kepada Anda jika Anda "mengklaim" lebih dari yang sebenarnya Anda butuhkan. (yaitu, halaman yang digunakan rendah, halaman total sangat tinggi dan Tanda Air Tinggi dekat dengan halaman total).
Untuk menyingkirkan ruang yang tidak terpakai ini dan mengembalikannya ke sistem operasi Anda akan mengeluarkan berikut (di bawah penyimpanan otomatis): db2 alter tablespace <tablespace name> reduce max
. contoh
db2 alter tablespace ts1 reduce max;
Itu akan menyebabkan DB2 menurunkan tanda air tinggi dan melepaskan disk yang tidak digunakan kembali ke sistem operasi. (Catatan Anda hanya bisa melakukan ini untuk tablespace reguler dan tablespace besar, bukan untuk sistem sementara, atau tablespace sementara pengguna).
Jika Anda menggunakan DMS tanpa penyimpanan otomatis, Anda perlu menggunakan serangkaian perintah yang sedikit berbeda:
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);
contoh
db2 alter tablespace ts1 lower high water mark;
db2 alter tablespace reduce (all containers 500 M);
Di tempat kami bekerja, kami menempatkan ini ke dalam beberapa skrip pemeliharaan kami sehingga kami menjalankan ini secara otomatis setelah kami melakukan reorg untuk memastikan kami mendapatkan kembali ruang disk. Dalam kasus kami, kami menggunakan DB2 LUW 9.7 FP 4, jadi tidak ada salahnya untuk memeriksa kembali Pusat Informasi untuk 9.5 untuk memastikan Anda memiliki akses ke informasi yang tepat untuk versi Anda.
EDIT: Jika tablespace Anda berasal dari database yang ditingkatkan ke DB2 9.7, Anda mungkin tidak akan memiliki set atribut penyimpanan yang dapat direklamasi. Ini benar bahkan jika Anda meningkatkan dari DMS ke penyimpanan otomatis. Either way menggigit karena Anda tidak dapat benar-benar menurunkan tanda air tinggi. Anda harus membuang tabel dan data keluar, jatuhkan tablespace. Kemudian buat kembali tablespace menggunakan penyimpanan otomatis dan impor data untuk tabel Anda.