BÀI GIẢNG ORACLE CẤU TRÚC LƯU TRỮ 1 1 Mục đích Mục đích Sau khi hoàn thành bài học này, bạn sẽ có thể Nắm được cấu trúc lưu trữ logic của CSDL Liệt kê các dạng segment và cách sử dụng Hiểu về các khái[.]
CẤU TRÚC LƯU TRỮ Mục đích Mục đích • Sau hồn thành học này, bạn có thể: • Nắm cấu trúc lưu trữ logic CSDL • Liệt kê dạng segment cách sử dụng • Hiểu khái niệm dùng để kiểm sốt việc sử dụng khơng gian block • Lấy thông tin cấu trúc lưu trữ Nội dung học I CÁC LOẠI SEGMENTS II QUẢN LÝ EXTENTS III QUẢN LÝ DATA BLOCKS IV THÔNG TIN VỀ CẤU TRÚC LƯU TRỮ V BÀI TẬP Cấu trúc quan hệ lưu trữ Database PROD TABLESPACES SYSTEM DATA FILES DISK1/SYS1.dbf SEGMENTS D.D Table Data Seg D.D Index USER_DATA DISK2/ USER1.dbf DISK3/ USER2.dbf S_DEPT S_EMP S_DEPT S_EMP (cont'd) FIRST_N AME RBS TEMP DISK1/ UNDO1.dbf DISK1/ TEMP.dbf RBS1 RBS2 RBS1 RBS2 RB Seg RB Seg RB Seg RB Seg Index RB Data Index Seg Seg Seg Data Seg Data Seg Index Seg (cont'd) (cont'd) Temp Temp Seg EXTENTS 2 Oracle DATA BLOCKS 2 FREE 1 2 I CÁC LOẠI SEGMENTS User Segments Table segment Cluster segment Table partition segment Index segment Index-organized table segment Index partition segment I CÁC LOẠI SEGMENTS User Segments LOB segment LOB Index segment Nested table segment I CÁC LOẠI SEGMENTS Tạo user segment I CÁC LOẠI SEGMENTS Tạo user segment I CÁC LOẠI SEGMENTS Temporary Segments Khi user thực lênh CREATE INDEX, SELECT DISTINCT, SELECT GROUP BY, Oracle cố gắng thực công việc xếp nhớ Khi công việc xếp cần đến nhiều không gian hơn, kết ghi trực tiếp lên đĩa Temporary segments dùng đến trường hợp Temporary segment I CÁC LOẠI SEGMENTS Undo Segments Undo segment sử dụng transaction (giao dịch) để tạo thay đổi database Trước thay đổi liệu hay index blocks, giá trị cũ lưu giữ vào undo segments Việc làm cho phép user phục hồi lại thay đổi Undo segment II QUẢN LÝ EXTENTS • Mặc định initial extent cấp phát cho segment tạo II QUẢN LÝ EXTENTS • Khi initial_extent sử dụng hết, database tự động cấp phát thêm next_extents cho segment II QUẢN LÝ EXTENTS Extent rỗi sử dụng File liệu File header Used extent Free extent III QUẢN LÝ DATA BLOCKS • Là đơn vị lưu trữ nhỏ Oracle database • Mỗi data block có kích thước số byte Mặc định KB Tham số DB_BLOCK_SIZE định kích thước quy Cấu trúc database block Header Free space Data Sử dụng không gian Block INITRANS MAXTRANS Các tham số INITRANS MAXTRANS số lượng khởi tạo, số lượng lớn transaction slots Transaction slots sử dụng để lưu giữ thông tin transactions làm thay đổi block thời điểm PCTFREE:chỉ lượng % vùng trống data block để dành cho việc tăng lên liệu cập nhật dòng liệu block Mặc định, PCTFREE 10% PCTUSED: PCTUSED data segment lượng phần trăm tối thiểu vùng khơng gian sử dụng, theo Oracle Server lưu giữ block liệu table Một block nạp lại vào free list (danh sách trống) PCTUSED giảm xuống Sử dụng không gian Block PCTFREE=20 Inserts PCTUSED=40 80% Inserts (off freelist) Inserts 80% 40% Insert (on freelist) IV THÔNG TIN VỀ CẤU TRÚC LƯU TRỮ IV THÔNG TIN VỀ CẤU TRÚC LƯU TRỮ DBA_TABLESPACES NAME TYPE COMMENTS TABLESPACE_NAME VARCHAR2(3 Tablespace name 0) INITIAL_EXTENT NUMBER Default initial extent size NEXT_EXTENT NUMBER Default incremental extent size MIN_EXTENTS NUMBER Default minimum number of extents MAX_EXTENTS NUMBER Default maximum number of extents STATUS VARCHAR2(9) CONTENTS Tablespace status: "ONLINE", "OFFLINE", or "READ ONLY" Tablespace contents: "PERMANENT", or VARCHAR2(9) "TEMPORARY" ... này, bạn có thể: • Nắm cấu trúc lưu trữ logic CSDL • Liệt kê dạng segment cách sử dụng • Hiểu khái niệm dùng để kiểm soát việc sử dụng khơng gian block • Lấy thơng tin cấu trúc lưu trữ 2 Nội dung... học I CÁC LOẠI SEGMENTS II QUẢN LÝ EXTENTS III QUẢN LÝ DATA BLOCKS IV THÔNG TIN VỀ CẤU TRÚC LƯU TRỮ V BÀI TẬP Cấu trúc quan hệ lưu trữ Database PROD TABLESPACES SYSTEM DATA FILES DISK1/SYS1.dbf... 80% Inserts (off freelist) Inserts 80% 40% Insert (on freelist) IV THÔNG TIN VỀ CẤU TRÚC LƯU TRỮ IV THÔNG TIN VỀ CẤU TRÚC LƯU TRỮ DBA_TABLESPACES NAME TYPE COMMENTS TABLESPACE_NAME VARCHAR2(3 Tablespace