Quản trị tablespace Oracle Database

Quản trị tablespace trong Oracle là một phần quan trọng của quản trị cơ sở dữ liệu Oracle, bao gồm việc tạo, thay đổi, và quản lý tablespace để đảm bảo rằng các dữ liệu trong cơ sở dữ liệu được tổ chức và lưu trữ hiệu quả. Dưới đây là một số hoạt động quản trị chính liên quan đến tablespace:

Xem thêm Tablespace là gì: https://datalinks.vn/tablespace-la-gi/

1. Tạo Tablespace

Bạn có thể tạo một tablespace mới bằng cách sử dụng lệnh CREATE TABLESPACE. Dưới đây là ví dụ về cách tạo một tablespace mới:

CREATE TABLESPACE duong_tbs DATAFILE '/path/to/datafile/duong_tbs.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

Sử dụng OMF để quản lý tên file tự động:

CREATE TABLESPACE duong_tbs DATAFILE SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

Có 2 tablespace đặc biệt là temp và undo:

— add tempfile

alter tablespace temp add tempfile size 200M autoextend on next 20M maxsize unlimited;

— add UNDOTBS1

alter tablespace UNDOTBS1 add datafile size 200M autoextend on next 20M maxsize unlimited;

 

2. Thay đổi Tablespace

Để thay đổi các thuộc tính của một tablespace, bạn có thể sử dụng lệnh ALTER TABLESPACE. Ví dụ:

Thêm file dữ liệu mới vào tablespace:

ALTER TABLESPACE duong_tbs ADD DATAFILE '/path/to/datafile/duong_tbs2.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

OMF: hệ thống tự động sinh tên file và quản lý

ALTER TABLESPACE duong_tbs ADD DATAFILE SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;

Thay đổi trạng thái của tablespace thành READ ONLY:

ALTER TABLESPACE duong_tbs READ ONLY;

Thay đổi trạng thái của tablespace trở lại READ WRITE:

ALTER TABLESPACE duong_tbs READ WRITE;

Thay đổi trạng thái của tablespace Online/Offline:

ALTER TABLESPACE duong_tbs ONLINE;

ALTER TABLESPACE duong_tbs OFFLINE;

Xoá datafile:

alter tablespace DATA drop datafile '/u01/app/datafile/o1_mf_data_lnjr95qz_.dbf';

Thay đổi tham số datafile:

alter database datafile '/u01/datafile/o1_mf_indx_log_lnjpwbwf_.dbf' resize 50m;

alter database datafile '/u01/datafile/o1_mf_data_lnjpwb5f_.dbf' autoextend on next 20m maxsize unlimited;

Đổi tên tablespace:

ALTER TABLESPACE duong_tbs RENAME TO duong1_tbs;

Mở rộng một datafile trong tablespace:

ALTER DATABASE DATAFILE '/path/to/datafile/duong_tbs.dbf' RESIZE 200M;

3. Xóa Tablespace

Để xóa một tablespace, bạn có thể sử dụng lệnh DROP TABLESPACE. Bạn có thể xóa cả dữ liệu file liên quan bằng cách thêm tùy chọn INCLUDING CONTENTS AND DATAFILES:

DROP TABLESPACE duong_tbs INCLUDING CONTENTS AND DATAFILES;

4. Kiểm tra Thông tin về Tablespace

Bạn có thể kiểm tra thông tin về tablespace bằng các câu lệnh truy vấn từ các view của Oracle, như DBA_TABLESPACES, DBA_DATA_FILES, và V$TABLESPACE.

Xem thông tin về tất cả các tablespace:

SELECT tablespace_name, status, contents FROM dba_tablespaces;

Xem thông tin chi tiết về các file dữ liệu của một tablespace:

SELECT file_name, bytes, autoextensible FROM dba_data_files WHERE tablespace_name = 'DUONG_TBS';

5. Quản lý dung lượng

Quản lý không gian là một phần quan trọng trong quản trị tablespace, bao gồm việc theo dõi và mở rộng không gian khi cần thiết:

Kiểm tra dung lượng trống trong tablespace:

SELECT tablespace_name, total_space - used_space AS free_space FROM (SELECT tablespace_name, SUM(bytes) AS total_space FROM dba_data_files GROUP BY tablespace_name) JOIN (SELECT tablespace_name, SUM(bytes) AS used_space FROM dba_segments GROUP BY tablespace_name) USING (tablespace_name);

Kiểm tra dung lượng DB: là tổng dung lượng hiện tại của tất cả các datafile và một số thành phần khác, trong đó Datafile là chính (ngoài ra còn có redolog, archivelog)

SELECT ROUND(SUM(BYTES)/1024/1024/1024,2) FROM DBA_DATA_FILES;

Dung lượng Schema:

select owner,round(sum(bytes/1024/1024/1024),3) from dba_segments group by owner order by owner;

Trạng thái datafile của tablespace:

select file_name,tablespace_name,online_status from dba_data_files;

Dung lượng datafile tăng theo tháng:

select to_char(creation_time,'yyyy/mm'), round(sum(bytes)/1024/1024/1024) "GB" from v$datafile  group by to_char(creation_time,'yyyy/mm') order by 1;

 

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của 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 muốn có 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