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 đồ.