Bảng phân mảnh thì xử lý thế nào? Table FRAGMENTED how to do?

Trong quá trình thao tác vận hành csdl sẽ bị phân mảnh vì các thủ tục update, delete….

— kiểm tra phân mảnh

select table_name,avg_row_len,round(((blocks*16/1024)),2)||’MB’ “TOTAL_SIZE”,

round((num_rows*avg_row_len/1024/1024),2)||’Mb’ “ACTUAL_SIZE”,

round(((blocks*16/1024)-(num_rows*avg_row_len/1024/1024)),2) ||’MB’ “FRAGMENTED_SPACE”,

(round(((blocks*16/1024)-(num_rows*avg_row_len/1024/1024)),2)/round(((blocks*16/1024)),2))*100 “percentage”

from all_tables WHERE table_name=’&TABLE_NAME’;

Nếu xuất hiện bản ghi là đã có hiện tượng phân mảnh rồi

— thực hiện chống phân mảnh bằng cách move table đó (move sẽ di chuyển ngay trong TBS hiện tại của table hoặc có thể move sang TBS khác)

alter table <table_name> move;

— có thể move sang tbs khác:

alter table <table_name> enable row movement;

alter table <table_name> move tablespace <new_tablespace>

— hoặc có thể shrink 1 bảng

— Cho phép row movement.

ALTER TABLE <table_name> ENABLE ROW MOVEMENT;

— Khôi phục không gian lưu trữ và sửa đổi high water mark (HWM).

ALTER TABLE <table_name> SHRINK SPACE;

— Khôi phục không gian lưu trữ nhưng không sửa đổi the high water mark (HWM).

ALTER TABLE <table_name> SHRINK SPACE COMPACT;

— Recover không gian lưu trữ cho đối tượng và mọi đối tượng phụ thuộc

ALTER TABLE <table_name> SHRINK SPACE CASCADE;

 

Datalinks.vn

Hello các bạn, mình là Dương Nguyễn tác giả của blog này. Với gần 20 năm làm việc trong lĩnh vực CNTT, VT trong và ngoài nước, mong muốn được chia sẻ kiến thức và kinh nghiệm về database với các bạn đam mê và quan tâm đến lĩnh vực này. Đặc biệt là #OracleDatabase hoặc luyện thi #OCP database admin. Các bạn cần người đồng hành thì alo mình nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận