Tôi có một vùng bảng LOB. Hiện đang sở hữu 9 GB trong số 12GB khả dụng. Và, theo như tôi có thể nói, việc xóa các bản ghi không đòi lại bất kỳ bộ nhớ nào trong vùng bảng. (Điều này là do phương pháp đơn giản theo dõi lưu trữ - các truy vấn đối với user_extents, đó là về tất cả những gì tôi được phép làm không phải là DBA) Tôi đang lo lắng về việc xử lý thêm.Cách lấy lại bộ nhớ cho các LOB đã xóa
Mối quan tâm của tôi chỉ đơn giản là hết dung lượng - chúng tôi có khoảng 9 GB trong số 12 GB có sẵn cho không gian bảng và tôi muốn tìm hiểu cách thu hồi dung lượng trước khi yêu cầu thêm.
Cột LOB được lưu trữ trong một vùng bảng riêng biệt, mặc dù "lưu trữ trong hàng" được phép cho các vùng nhỏ.
Đây là Oracle 11.1 và dữ liệu nằm trong cột CLOB và BLOB trong cùng một bảng. Phân đoạn chỉ mục LOB (SYS_IL ...) là nhỏ, tất cả lưu trữ nằm trong các phân đoạn dữ liệu (SYS_LOB ...)
Chúng tôi đã cố gắng thanh lọc và kết hợp và không nhận được bất kỳ đâu - cùng một số byte trong user_extents.
"Chuyển đổi bảng di chuyển" sẽ hoạt động, nhưng chúng tôi cần phải có nơi nào đó để di chuyển nó đến đó có đủ không gian cho dữ liệu đã sửa đổi. Chúng tôi cũng cần phải làm điều đó ngoài giờ và xây dựng lại các chỉ số, tất nhiên, nhưng đó là đủ dễ dàng.
Sao chép dữ liệu tốt và thực hiện cắt ngắn, sau đó sao chép lại, cũng sẽ hoạt động. Nhưng đó là khá nhiều chỉ là những gì "thay đổi bảng" lệnh nào.
Tôi có thiếu một số cách dễ dàng để thu nhỏ mọi thứ và lấy lại bộ nhớ không? Hoặc là "thay đổi bảng xxx di chuyển" cách tiếp cận tốt nhất? Hoặc đây có phải là một vấn đề không và Oracle sẽ lấy lại không gian từ các hàng lob đã bị xóa khi cần?
"đó là về tất cả Tôi đang cho phép như một tổ chức phi DBA" Tôi không thể giúp nhận thấy điều này, và nó có giá trị nói rằng không phải mọi vấn đề kỹ thuật có một câu trả lời kỹ thuật. Nếu bạn là người phụ trách lo lắng về những điều này, bạn nên được cấp quyền DBA hoặc ít nhất là đặc quyền hệ thống SELECT ANY DICTIONARY. Nếu không, bạn nên báo cáo điều gì đó như thế này trước khi nó ảnh hưởng đến những người dùng khác. – durette