QUẢN LÝ USER cho PDB và CDB

Kiến trúc Multitenant được giới thiệu trong phiên bản Oracle Database 12c cho phép 1 CDB có thể quản lý nhiều PDB.

Bài viết này sẽ hướng dẫn bạn cách quản lý user và quyền trong CDB và PDB.


   Giới thiệu

Kiến trúc Multitenant database có cách quản lý user mở rộng hơn 1 chút so với kiến trúc truyền thống. Ở trong kiến trúc này, user chia làm 2 loại:

   Common user: User cho toàn bộ CDB và PDB. Bạn có thể sử dụng user này để kết nối vào cả CDB và PDB

   Tên của Common User phải có tiền tố C## hoặc c## và là duy nhất trong tất cả các container.

   Default tablespace, temporary tablespace, profile được gán cho Common User phải tồn tại trong tất cả container.

   Local User: User của từng PDB. Bạn chỉ có thể dùng user này để kết nối vào PDB mà nó được tạo ra.

   Ngược lại với Common User, tên của Local user không được chứa tiền tố C## hoặc c##, và chỉ cần duy nhất trong PDB.

Tương tự như vậy chúng ta cũng có 2 khái niệm Common Role và Local Role, hiểu đơn giản là áp dụng ở mức CDB hay PDB.


   Tạo Common User

   Kết nối vào Root Container

Common user là user cho toàn bộ CDB và PDB, do đó, để tạo Common user, trước tiên bạn cần phải kết nối vào CDB đã

sqlplus / as sysdba

   Tạo Common User:

CREATE USER c##duydx IDENTIFIED BY oracle CONTAINER=ALL;
GRANT CREATE SESSION TO c##duydx CONTAINER=ALL;

   Chú ý: Khi bạn đã kết nối vào root container (hay CDB), bạn có thể không cần chỉ ra mệnh đề CONTAINER=ALL, vì nó sẽ tự động được thêm vào câu lệnh.

   Kết nối thử

 

Kết nối vào CDB

sqlplus c##duydx/oracle

connect to cdb

Kết nối vào PDB

sqlplus c##duydx/[email protected]

Đọc thêm  Oracle 12c - Kết nối với CDB và PDB

   Tạo Local User

   Tạo Local User bằng cách kết nối vào CDB

sqlplus / as sysdba

Bạn sử dụng mệnh đề CONTAINER=CURRENT để chỉ ra user này sẽ được tạo cho PDB hiện bạn đang kết nối đến.

ALTER SESSION SET CONTAINER = pdb1;
CREATE USER duydx IDENTIFIED BY oracle CONTAINER=CURRENT;
GRANT CREATE SESSION TO duydx CONTAINER=CURRENT;

   Tạo Local User bằng cách kết nối thẳng vào PDB

sqlplus sys/[email protected] as sysdba

Bạn có thể tạo Local User cho PDB mà không khác gì so với database theo kiến trúc cũ.

CREATE USER duydx IDENTIFIED BY oracle;
GRANT CREATE SESSION TO duydx;

   Kiểm tra

 

Kết nối vào PDB

Kết nối vào CDB

connect to cdb 2

   Kết luận: Như vậy Local User có thể kết nối vào PDB nhưng không thể kết nối đến CDB.

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