QUẢN LÝ Tablespace

Trong kiến trúc Multitenant được Oracle đưa vào từ bản 12c, có rất nhiều thứ đã thay đổi, trong đó có cả Tablespace.

Cũng như user, giờ đây, tablespace cũng tồn tại ở 2 cấp độ: CDBPDB

Đọc thêm  Oracle 12c - Quản lý User trong CDB và PDB

   Kiểm tra thông tin tablespace

Đầu tiên, bạn kết nối vào CDB bằng sqlplus

sqlplus / as sysdba

Bạn kiểm tra các PDB đang hoạt đông bằng câu lệnh sau:

show pdbs
    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED			  READ ONLY  NO
     3 PDB1 			  READ WRITE NO
     5 PDB2 			  READ WRITE NO
     7 PDB3 			  READ WRITE NO

Bạn kiểm tra các tablespace hiện đang có bằng câu lệnh sau:

select tablespace_name, con_id from cdb_tablespaces;

Ở đây tôi dùng view có tiền tố cdb_* để lấy được thông tin trong toàn bộ CDB.

Như các bạn thấy, CDB$ROOT cũng có tablespace, mà các PDB cũng có tablespace của riêng nó. Các bạn chú ý 1 điều này, bạn thấy tablespace UNDOTBS1 đều xuất hiện trong tất cả database không? Đó là tính năng mới trong phiên bản 12.2 đó, nó gọi là LOCAL UNDO, còn ở bản 12.1, chỉ có 1 tablespace UNDO cho tất cả thôi nhé.


   Quản lý tablespace ở CDB

Quản lý tablespace ở mức CDB không có gì khác so với các phiên bản trước (non Multitenant).

   Tạo tablespace mới

SQL> create tablespace data2022 datafile '/u01/app/oradata/CDB1/data2022_1.dbf' size 10G;

Tablespace created.

   Add thêm datafile mới:

SQL> alter tablespace data2022 add datafile '/u01/app/oradata/CDB1/data2022_2.dbf' size 10G;

Tablespace altered.

   Drop tablespace

SQL> drop tablespace data2022 including contents and datafiles;

Tablespace dropped.

   Quản lý tablespace ở mức PDB

Cơ bản là cũng không có gì khác đâu, chỉ lưu ý bạn 1 điều là bạn muốn tạo tablespace trong PDB nào bạn phải kết nối đúng với PDB đấy nhé.

SQL> alter session set container=pdb1;

Session altered.

   Tạo mới tablespace

SQL> create tablespace pdb1_data2022 datafile '/u01/app/oradata/CDB1/pdb1/data2022_1.dbf' size 10G; 

Tablespace created.

   Add thêm datafile

SQL> alter tablespace pdb1_data2022 add datafile '/u01/app/oradata/CDB1/pdb1/data2022_2.dbf' size 10G;

Tablespace altered.

Kiểm tra lại:

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
PDB1_DATA2022

6 rows selected.

Ở đây, tôi dùng view có tiền tố dba_* để xem các thông tin của PDB.

   Drop tablespace 

Và cuối cùng là drop tablespace bằng lệnh sau

SQL> drop tablespace pdb1_data2022 including contents and datafiles;  

Tablespace dropped.

Nguồn: https://dangxuanduy.com/

   Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.

Xin cho tôi được biết, bạn cảm thấy bài viết này như thế nào? Ý kiến của bạn sẽ giúp tôi nâng cao chất lượng bài viết của mình.

    Hãy chia sẻ bài viết này nếu bạn thấy có ích nhé

     

     

    0 0 votes
    Article Rating
    Subscribe
    Notify of
    guest
    0 Comments
    Inline Feedbacks
    View all comments