Tôi sẽ đoán rằng bạn đang sử dụng lưu trữ tự động. (Không phải điều này có thể xảy ra nếu không ... thật dễ dàng để điều này xảy ra với lưu trữ tự động.)
Vấn đề rất có thể là cơ sở dữ liệu của bạn đã lấy lại không gian cho chính nó nhưng không giải phóng đĩa trở lại hệ điều hành. Điều này có thể được hiển thị rất dễ dàng bằng cách kiểm tra High Water Mark cho không gian bảng.
Làm như sau
db2 list tablespaces show detail
Điều này sẽ cho bạn thấy từng không gian bảng và những gì nó đang sử dụng trên đĩa. Used pages
là bao nhiêu trang đĩa cơ sở dữ liệu đang sử dụng. So sánh điều đó với total pages
(tổng số yêu cầu trên đĩa) và High water mark (pages)
sẽ cho bạn biết nếu bạn "yêu cầu" nhiều hơn bạn thực sự cần. (nghĩa là các trang được sử dụng thấp, tổng số trang rất cao và Dấu nước cao gần với tổng số trang).
Để thoát khỏi không gian không sử dụng này và trả lại cho hệ điều hành, bạn sẽ đưa ra các điều sau (dưới bộ nhớ tự động) : db2 alter tablespace <tablespace name> reduce max
. thí dụ
db2 alter tablespace ts1 reduce max;
Điều đó sẽ khiến cho DB2 hạ thấp mức nước cao và giải phóng đĩa không sử dụng trở lại hệ điều hành. (Lưu ý bạn chỉ có thể làm điều này cho các không gian bảng thông thường và lớn, không dành cho tạm thời hệ thống hoặc không gian bảng tạm thời của người dùng).
Nếu bạn đang sử dụng DMS mà không có bộ nhớ tự động, bạn cần sử dụng một nhóm lệnh hơi khác:
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);
thí dụ
db2 alter tablespace ts1 lower high water mark;
db2 alter tablespace reduce (all containers 500 M);
Khi chúng tôi làm việc, chúng tôi đưa phần này vào một số tập lệnh bảo trì để chúng tôi tự động chạy phần này sau khi chúng tôi thực hiện lại để đảm bảo chúng tôi lấy lại dung lượng đĩa. Trong trường hợp của chúng tôi, chúng tôi sử dụng DB2 LUW 9.7 FP 4, do đó, không cần kiểm tra kỹ Trung tâm thông tin cho 9.5 để đảm bảo bạn có quyền truy cập vào thông tin phù hợp cho phiên bản của mình.
EDIT: Nếu không gian bảng của bạn đến từ cơ sở dữ liệu được nâng cấp lên DB2 9.7, có lẽ bạn sẽ không có bộ thuộc tính lưu trữ có thể thu hồi được. Điều này đúng ngay cả khi bạn nâng cấp từ DMS lên bộ nhớ tự động. Dù bằng cách nào, bạn cũng có thể thực sự hạ thấp vạch nước cao. Bạn phải đổ bảng và dữ liệu ra, thả các không gian bảng. Sau đó, tạo lại không gian bảng bằng cách sử dụng lưu trữ tự động và nhập dữ liệu cho các bảng của bạn.