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, tôi là Dương Nguyễn (DuoDBA), là người đang tập tành viết lách trên blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. #Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn cần người đồng hành thì alo tôi 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