Chủ Nhật, 22 tháng 8, 2021

Quản lý Tablespaces trong Container Database (CDB) và Pluggable Database (PDB) trong Oracle Database 12c

Mục đích: Hướng dẫn Quản lý Tablespaces trong Container Database (CDB) và Pluggable Database (PDB) trong Oracle Database 12c

  • Quản lý Tablespaces trong CDB
  • Quản lý Tablespaces trong PDB
  • Undo Tablespaces
  • Temporary Tablespaces
  • Default Tablespaces

Quản lý Tablespaces trong CDB

Quản lý tablespace trong container database (CDB) không khác gì với cơ sở dữ liệu không phải CDB (non-CDB). Miễn là bạn đã đăng nhập với tư cách là người dùng có đặc quyền và trỏ đến root container, các lệnh thông thường đều dùng được.

CONN / AS SYSDBA

SQL> SHOW CON_NAME

CON_NAME
------------------------------
CDB$ROOT

SQL> 

CREATE TABLESPACE dummy
  DATAFILE '/u01/app/oracle/oradata/cdb1/dummy01.dbf' SIZE 1M
  AUTOEXTEND ON NEXT 1M;
  
Tablespace created.

SQL>

ALTER TABLESPACE dummy ADD
  DATAFILE '/u01/app/oracle/oradata/cdb1/dummy02.dbf' SIZE 1M
  AUTOEXTEND ON NEXT 1M;
 
Tablespace altered.

SQL> 

DROP TABLESPACE dummy INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

SQL>

Quản lý Tablespaces trong PDB

Các lệnh quản lý tablespace dùng với mức root container vẫn dùng được với pluggable database (PDB), miễn là bạn trỏ đến đúng container. Bạn có thể kết nối bằng cách sử dụng một người dùng thông thường (common user), sau đó chuyển sang đúng container.

SQL> CONN / AS SYSDBA
Connected.

SQL> ALTER SESSION SET CONTAINER = pdb1;

Session altered.

SQL> SHOW CON_NAME

CON_NAME
------------------------------
PDB1

Ngoài ra, có thể kết nối trực tiếp với PDB với tư cách là người dùng cục bộ có đủ đặc quyền.

SQL> CONN pdb_admin@pdb1
Enter password: oracle
Connected.

SQL> SHOW CON_NAME

CON_NAME
------------------------------
PDB1
SQL>

Sau khi được trỏ đến đúng container, tablespace có thể được quản lý bằng cách sử dụng các lệnh tương tự như ở trên. Đảm bảo rằng bạn đặt các datafile ở vị trí thích hợp cho PDB.

SQL> CREATE TABLESPACE dummy
  DATAFILE '/u01/app/oracle/oradata/cdb1/pdb1/dummy01.dbf' SIZE 1M
  AUTOEXTEND ON NEXT 1M;
  
Tablespace created.

SQL> ALTER TABLESPACE dummy ADD
  DATAFILE '/u01/app/oracle/oradata/cdb1/pdb1/dummy02.dbf' SIZE 1M
  AUTOEXTEND ON NEXT 1M;
 
Tablespace altered.

SQL> DROP TABLESPACE dummy INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

SQL>

Undo Tablespaces

Việc quản lý undo tablespace trong CDB không khác so với quản lý của cơ sở dữ liệu không phải CDB.

Ngược lại, PDB không có undo tablespace. Thay vào đó, nó sử dụng undo tablespace  thuộc CDB. Nếu chúng ta kết nối với một PDB, chúng ta có thể thấy không có undo tablespace nào được hiển thị..

CONN pdb_admin@pdb1

SELECT tablespace_name FROM dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
TEMP
USERS

SQL>

Nhưng chúng ta có thể thấy datafile được liên kết với CDB undo tablespace.

SQL> SELECT name FROM v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/cdb1/undotbs01.dbf
/u01/app/oracle/oradata/cdb1/pdb1/system01.dbf
/u01/app/oracle/oradata/cdb1/pdb1/sysaux01.dbf
/u01/app/oracle/oradata/cdb1/pdb1/pdb1_users01.dbf

SQL> SELECT name FROM v$tempfile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/cdb1/pdb1/temp01.dbf

SQL>

Temporary Tablespaces

Việc quản lý Temporary Tablespaces trong CDB không khác so với quản lý của cơ sở dữ liệu không phải CDB.

Một PDB có thể có Temporary Tablespace riêng, hoặc PDB được tạo mà không có Temporary Tablespace, PDB đó có thể chia sẻ Temporary Tablespace với CDB.

SQL> CONN pdb_admin@pdb1

SQL> CREATE TEMPORARY TABLESPACE temp2
  TEMPFILE '/u01/app/oracle/oradata/cdb1/pdb1/temp02.dbf' SIZE 5M
  AUTOEXTEND ON NEXT 1M;
  
Tablespace created.

SQL> DROP TABLESPACE temp2 INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

Tablespace mặc định

Đặt tablespace mặc định và temporary tablespace mặc định cho CDB khôngkhác so với cơ sở dữ liệu không phải CDB.

Có hai cách để đặt tablespace mặc định và temporary tablespace mặc định cho PDB. Lệnh ALTER PLUGGABLE DATABASE là cách được khuyến nghị sử dụng.

CONN pdb_admin@pdb1
ALTER PLUGGABLE DATABASE DEFAULT TABLESPACE users;
ALTER PLUGGABLE DATABASE DEFAULT TEMPORARY TABLESPACE temp;

Hoặc lệnh ALTER DATABASE.

CONN pdb_admin@pdb1
ALTER DATABASE DEFAULT TABLESPACE users;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;

Với cả hai cách trên, bạn phải trỏ đến container thích hợp để lệnh hoạt động (lệnh CONN pdb_admin@pdb1)

Để biết thêm thông tin, hãy xem:

Hy vọng hữu ích cho bạn.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w

=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master