Như thường lệ, hãy bắt đầu bằng cách kết nối với máy chủ của bạn nơi lưu trữ Oracle, sau đó kết nối với chính Oracle dưới dạng SYSTEM tài khoản.
SYSTEM tài khoản là một trong số ít các tài khoản quản trị được xác định trước được tạo tự động khi cài đặt Oracle. SYSTEM có khả năng thực hiện hầu hết các tác vụ quản trị, nhưng nhiệm vụ chúng tôi đặc biệt quan tâm là quản lý tài khoản.
Tạo người dùng
Sau khi được kết nối dưới dạng SYSTEM , chỉ cần phát hành CREATE USER lệnh tạo tài khoản mới.
CREATE USER books_admin IDENTIFIED BY MyPassword;
Ở đây, chúng tôi chỉ tạo một books_admin tài khoản IDENTIFIED hoặc được xác thực bằng password được chỉ định .
Tuyên bố Tài trợ
Với books_admin mới của chúng tôi đã tạo tài khoản, bây giờ chúng tôi có thể bắt đầu thêm các đặc quyền vào tài khoản bằng cách sử dụng GRANT tuyên bố. GRANT là một tuyên bố rất mạnh mẽ với nhiều tùy chọn khả thi, nhưng chức năng cốt lõi là quản lý các đặc quyền của cả người dùng users và roles trong toàn bộ cơ sở dữ liệu.
Cung cấp vai trò
Thông thường, trước tiên bạn sẽ muốn chỉ định các đặc quyền cho người dùng thông qua việc gắn tài khoản với các vai trò khác nhau, bắt đầu bằng CONNECT vai trò:
GRANT CONNECT TO books_admin;
Trong một số trường hợp để tạo người dùng mạnh mẽ hơn, bạn cũng có thể cân nhắc thêm RESOURCE vai trò (cho phép người dùng tạo các loại được đặt tên cho các lược đồ tùy chỉnh) hoặc thậm chí là DBA , cho phép người dùng không chỉ tạo các loại được đặt tên tùy chỉnh mà còn thay đổi và phá hủy chúng.
GRANT CONNECT, RESOURCE, DBA TO books_admin;
Chỉ định các đặc quyền
Tiếp theo, bạn sẽ muốn đảm bảo người dùng có đặc quyền thực sự kết nối với cơ sở dữ liệu và tạo phiên bằng cách sử dụng GRANT CREATE SESSION . Chúng tôi cũng sẽ kết hợp điều đó với tất cả các đặc quyền bằng cách sử dụng GRANT ANY PRIVILEGE .
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
Chúng tôi cũng cần đảm bảo người dùng mới của mình có dung lượng đĩa được phân bổ trong hệ thống để thực sự tạo hoặc sửa đổi các bảng và dữ liệu, vì vậy chúng tôi sẽ GRANT TABLESPACE như vậy:
GRANT UNLIMITED TABLESPACE TO books_admin;
Table Privileges
Mặc dù thường không cần thiết trong các phiên bản Oracle mới hơn, nhưng một số bản cài đặt cũ hơn có thể yêu cầu bạn chỉ định thủ công các quyền truy cập mà người dùng mới có đối với một lược đồ và bảng cơ sở dữ liệu cụ thể.
Ví dụ:nếu chúng ta muốn books_admin người dùng có khả năng thực hiện SELECT , UPDATE , INSERT và DELETE khả năng trên books bảng, chúng tôi có thể thực thi GRANT sau tuyên bố:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
Điều này đảm bảo rằng books_admin có thể thực hiện bốn câu lệnh cơ bản cho books bảng là một phần của schema lược đồ.