9.2.PHÂN LO*I CÁC TABLESPACES 9.2.1 Tablespace SYSTEM và non-SYSTEM

Một phần của tài liệu ORACLE_kiến trúc và quản trị pptx (Trang 87 - 89)

9.2.1. Tablespace SYSTEM và non-SYSTEM

Một database gồm có ít nhất một tablespace là tablespace SYSTEM, là nơi lưu trữ các thông tin của hệ thống. Ngồi ra, database cịn có thể thêm vào các tablespace khác, đó là các non-SYSTEM tablespaces, chứa dữ liệu của các user.

Tablespace SYSTEM

Có trong tất cả các database

Chứa thông tin về các data dictionary views, các định nghĩa của stored procedures, packages, và các database triggers dưới dạng PL/SQL program units.

Chứa SYSTEM rollback segment

Không nên chứa dữ liệu người dùng trong tablespace này mặc dù có thể.

Hình vẽ 36. Dữ liệu người dùng nên đặt trong tablespace riêng

Non-SYSTEM Tablespace

Chứa các rollback segments

Chứa các temporary segments

Chứa các data segments

Chứa các index segments

9.2.2. Tablespaces read-only / read-write Tablespaces read-only

Mục đích chính của việc sử dụng các tablespaces read-only (chỉ đọc) là hạn chế các thủ tục cần thiết khi thực hiện sao lưu và phục hồi một phần lớn dữ liệu không bị thay đổi (static) của database. Oracle không thực hiện cập nhật các files nằm trong tablespace read-only, vì thế các files có thể được đặt trong thiết bị chỉ đọc như CD ROMs hay ổ đĩa WORM drives (Write Once-Read Many).

Mỗi khi tạo mới một tablespace, hệ thống sẽ tạo cho ta một tablespace có đủ cả quyền đọc và quyền ghi. Ta có thể thay đổi lại thuộc tính tablespace thành read-only thơng qua mệnh đề READ ONLY trong câu lệnh ALTER TABLESPACE. Việc này sẽ dẫn tới tất cả các datafiles thuộc tablespace đó sẽ được đặt lại thuộc tính là read-only.

Câu lệnh ALTER TABLESPACE ... READ ONLY sẽ đặt tablespace vào chế độ chuyển tiếp (transitional read-only) và chờ cho tất cả các transactions trên đó kết thúc (commit hoặc roll back). Chế độ chuyển tiếp này sẽ không cho phép bất kỳ một thao tác ghi mới nào được thực hiện trên tablespace ngoại trừ việc rollback các transactions hiện thời và thay đổi dữ liệu trong các blocks trong tablespace. Do đó, chế độ chuyển tiếp của tablespace cũng hệt như tablespace read-only đối với các câu lệnh mới của người dùng ngoại trừ lệnh ROLLBACK. Sau khi tất cả các transactions hiện thời đã kết thúc thì câu lệnh ALTER TABLESPACE ... READ ONLY mới được xem là kết thúc và tablespace được đặt ở chế độ read-only.

Đặt chế độ read-only cho tablespace không làm ảnh hưởng tới trạng thái offline hay online của tablespace đó. Các Offline datafiles vẫn không thể truy xuất được. Việc đưa một datafile trong tablespace read-only vào chế độ online sẽ cho phép user có thể đọc dữ liệu trong file đó. File này vẫn khơng thể viết dữ liệu vào trừ phi tablespace tương ứng được đặt lại ở chế độ cho phép đọc và ghi.

Read-only tablespaces không thể bị sửa đổi. Để cập nhật dữ liệu trong một read-only tablespace, trước tiên ta cần đặt lại chế độ cho tablespace là read-write. Sau đó, thực hiện cập nhật dữ liệu trong tablespace rồi đặt lại chế độ read-only cho tablespace đó.

Do các read-only tablespaces không bị sửa đổi nên ta cũng không cần thiết phải thực hiện việc backup dữ liệu trên nó nhiều lần. Và ta cũng khơng cần thiết phải phục hồi lại các read- only tablespaces, do dữ liệu trong đó khơng bị thay đổi.

Ta khơng thể bổ sung các datafiles vào tablespace read-only, ngay cả khi đã đặt chế độ cho tablespace là offline. Bởi vì, khi bổ sung một datafile, Oracle sẽ phải cập nhật phần thơng tin header trong khi đó thao tác ghi lên tablespace này là không được phép.

Tablespace read-write

Trái với tablespace read-only, với các tablespace read-wirte, ta có thể thực hiện các thao tác đọc và ghi trên đó.

Ta cũng có thể sử dụng mệnh đề READ WRITE trong câu lệnh ALTER TABLESPACE để thay đổi trạng thái tablespace read-only thành trạng thái read-write.

9.2.3. Temporary tablespace / permanent tablespace

Temporary tablespaces được sử dụng để dành riêng cho các thao tác sắp xếp dữ liệu. Trong temporary tablespace khơng có bất cứ segments dữ liệu nào nằm trong đó.

Sort segments có thể cùng được chia sẻ sử dụng khi nhiều thao tác sắp xếp cùng được thực hiện. Một sort segment được sử dụng cho tất cả các instance có thực hiện thao tác sắp xếp trên một tablespace.

Việc sử dụng các temporary tablespaces cho phép nâng cao hiệu suất thực hiện mỗi khi có nhiều thao tác sắp xếp được thực hiện trên một vùng nhớ lớn và không phù hợp với kích thước của bộ nhớ trong của máy tính. Sort segment thuộc temporary tablespace được tạo ra vào ngay thời điểm đầu của thao tác sắp xếp. Sort segment sẽ được cấp thêm vùng nhớ và mở rộng dần cho tới khi kích thước của segment ngang bằng hoặc lớn hơn tổng số kích thước lưu trữ cần thiết cho việc thực hiện tất cả các thao tác sắp xếp của instance.

Các tablespaces không phải là temporary tablespaces được gọi là các permanent tablespaces. Các permanent tablespace được sử dụng để lưu trữ dữ liệu trong database.

Một phần của tài liệu ORACLE_kiến trúc và quản trị pptx (Trang 87 - 89)