Tạo user và gán quyền kết nối trong Database Oracle 19c

Tram Ho

Trước khi đi vào nội dung chính, chúng ta sẽ tìm hiểu qua:

Kiến trúc Multitenant trong Oracle Database là gì?

Để dễ hình dung mình sẽ so sánh kiến trúc của Oracle 11g và 12c ở một vài điểm, từ bản 11g trở về trước, mỗi instance chỉ phục vụ cho 1 database như vậy n database mình cần tạo n instance.
Với kiến trúc như vậy trong tình huống nếu có nhiều database chạy trên 1 máy chủ, sẽ có nhiều tài nguyên bị dư thừa, không tối ưu được.

image.png

Ở phiên bản 12c, Oracle đã đưa ra khái niệm Multitenant, chúng ta sẽ có một database mẹ Container Database (CDB), nó có nhiệm vụ lưu trữ, quản lý các thông tin điều khiển chung. Ngoài ra chung ta sẽ có các database con gắn vào database mẹ, gọi là các Pluggable database (PDB). Đây là nơi lưu trữ các dữ liệu thực sự của người dùng. Hiểu nôm na là các PDB sống dựa vào CDB. CDB cung cấp các proccess, memory để cho PDB hoạt động

image.png

Ghi chú: CDB cũng có thể lưu trữ dữ liệu nhưng theo khuyên cáo của Oracle không nên lưu dữ liệu trong CDB để tránh các xung đột ảnh hưởng đến hiệu năng database.

Có một PDB đặc biệt được sinh ra khi khởi tạo CDB, nói gọi là PDB hạt giống (PDB$SEED) và nó chỉ có thể đọc chứ không thể sửa đổi

Việc quản lý người dùng và quyền có một chút khác biệt so với môi trường oracle 11g.

Trong môi trường Multitenant có hai loại người dùng:

  • Người dùng chung (Common User): Người dùng được sử dụng trong tất cả các container (root và tất cả các PDB)
  • Người dùng cục bộ (local User): Người dùng chỉ được dùng trong một PDB cụ thể. Tên người dùng giống nhau có thể được tạo trong các PDB khác nhau

Tương tự như vậy có có hai loại role:

  • Common Role: Role này được dùng chung cho tất cả các container (Root và các PDB)
  • Local Role: Role này được dùng cho các PDB cụ thể. Tên role có thể giống nhau ở các PDB khác nhau.
  1. Kiểm tra Container name, chuyển Pluggable

  1. Tạo User, Role
  • Tạo User
  • Tạo common user trên Container Database (CDB), khi tạo thêm tiền tố C##

Ghi chú: Nếu không muốn dùng ký tự c## thì dùng tip sau

config system dùng câu lệnh: alter system set _common_user_prefix = ” scope=spfile;

  • Tạo local use

  • Tạo role
  • Tạo common roles

  • Tạo local roles

  • Gán quyền role cho common và local user

  1. Tạo tablespace
    Để triển khai một dự án mới, ta cần tạo một tablesapce mới và tạo account gán quyền trên tablesapce mới đó cấp cho đội dự án sử dụng. Mục đính tạo ra các tablespace để dễ quản lý về mặt dung lượng phát triển của một dự án.

Huy vọng bài viết giúp ích cho các bạn đang tìm hiểu về database Oracle

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo