Deferring Segment Creation – Quản trị trì hoãn tạo Segment trong Oracle Database

Trong Oracle Database, quản trị việc trì hoãn tạo Segment (Deferring Segment Creation) là một phương pháp để cải thiện hiệu suất và tối ưu hóa việc sử dụng không gian lưu trữ. Khi trì hoãn tạo Segment, Oracle không tạo Segment vật lý cho bảng hoặc Index ngay khi chúng được tạo, mà chỉ khi có dữ liệu đầu tiên được chèn vào. Điều này giúp giảm không gian lưu trữ không cần thiết và cải thiện thời gian tạo đối tượng.

Kích Hoạt Tính Năng Trì Hoãn Tạo Segment

Kiểm Tra Thiết Lập Hiện Tại:

Trước tiên, hãy kiểm tra xem tùy chọn trì hoãn tạo Segment có đang được bật không:

SHOW PARAMETER deferred_segment_creation;

word image 3105 1

Nếu giá trị là TRUE, tính năng này đang được bật. Nếu là FALSE, bạn có thể bật nó ở mức hệ thống hoặc mức session.

Bật Tính Năng Trì Hoãn Tạo Segment:

ALTER SYSTEM SET deferred_segment_creation = TRUE SCOPE = BOTH;

ALTER SESSION SET deferred_segment_creation = TRUE;

Tạo Bảng Với Tính Năng Trì Hoãn Tạo Segment

Khi tính năng trì hoãn tạo Segment được bật, việc tạo bảng sẽ không tạo Segment vật lý cho đến khi dữ liệu đầu tiên được chèn vào bảng.

CREATE TABLE tab2 (
id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
content VARCHAR2(255),
date_time TIMESTAMP
);

Kiểm Tra Tạo Segment

Bạn có thể kiểm tra việc tạo Segment bằng cách sử dụng view DBA_SEGMENTS. Khi bảng được tạo nhưng chưa có dữ liệu, sẽ không có Segment nào được ghi nhận cho bảng này.

SELECT segment_name, segment_type, tablespace_name
FROM dba_segments
WHERE segment_name = 'TAB2';

word image 3105 2

Chúng ta đã tạo bảng bên trên nhưng chưa có Segments nào được tạo cả. => vì đang sử dụng trì hoãn tạo segment.

Chèn Dữ Liệu Và Tạo Segment

Khi bạn chèn dữ liệu vào bảng, Oracle sẽ tự động tạo Segment vật lý cho bảng này.

INSERT INTO TAB2 (content, date_time)
VALUES ('Vietnam', SYSDATE);

Sau khi chèn dữ liệu, bạn có thể kiểm tra lại view DBA_SEGMENTS để thấy rằng Segment đã được tạo.

SELECT segment_name, segment_type, tablespace_name
FROM dba_segments
WHERE segment_name = 'TAB2';

word image 3105 3

=>> sau khi thực hiện insert data thành công vào bảng thì đã có segment xuất hiện.

Lợi Ích Của Việc Trì Hoãn Tạo Segment

  • Tiết Kiệm Không Gian Lưu Trữ: Giảm không gian lưu trữ không cần thiết cho các bảng hoặc Index không chứa dữ liệu.
  • Tăng Tốc Độ Tạo Đối Tượng: Cải thiện thời gian tạo bảng và Index, đặc biệt hữu ích trong các hệ thống phát triển và thử nghiệm.
  • Quản Lý Hiệu Quả: Giúp quản trị viên cơ sở dữ liệu quản lý không gian lưu trữ hiệu quả hơn.

Bằng cách hiểu và áp dụng quản trị trì hoãn tạo Segment, bạn có thể tối ưu hóa không gian lưu trữ và cải thiện hiệu suất của Oracle Database một cách hiệu quả.

 

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