Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 6: Quản trị người dùng - Nguyễn Thị Mỹ Dung

Bài giảng  
HQT Cơ sở dữ liệu  
(ORACLE)  
Số tc: 3; LT: 25; Btập: 20  
GV: Nguyễn Thị Mỹ Dung  
Khối lớp: Đại học L2  
1
NỘI DUNG MÔN HỌC  
1
Chương 1: Tổng quan về Oracle (2)  
Chương 2: Cơ bản về Oracle (2)  
2
3
Chương 3: Truy vấn SQL (12)  
4
Chương 4: Lập trình PL/SQL (9)  
5
Chương 5: Procedure, Trigger, Function (12)  
6
Chương 6: Quản trị người dùng (4)  
Chương 7: Kết nối CSDL với Oracle (4)  
7
2
Ch6: Quản trị người dùng  
I. Các thành phần trong quản trị người dùng  
II. Quản lý user  
III. Quản lý quyền hệ thống (privileges)  
IV. Quản lý quyền đối tượng  
V. Quản lý nhóm (Role)  
VI. Bài tập thực hành  
3
I. Các thành phần  
Việc phân quyền sử dụng là cần thiết trong công  
việc quản trị. Có hai user account được tự động tạo  
ra ngay từ khi cài đặt và gán quyền quản trị CSDL  
(DBA - DataBase Administration) là: SYS và  
SYSTEM.  
- DBA: cho phép thực hiện các thao tác quản trị  
đối với CSDL.  
- SYS: được tạo tự động và gán quyền DBA. SYS  
sở hữu các bảng và danh sách từ điển trong CSDL,  
mật khẩu khi cài đặt  
- SYSTEM: có quyền DBA, sở hữu table, view,  
mở rộng thông tin cho các tool của Oracle. Mật khẩu  
mặc định là manager.  
4
Các thành phần (tt)  
- Cơ chế xác nhận (Authentication Mechanism):  
xác nhận quyền truy cập thực hiện bởi DB hoặc  
HĐH.  
- Hạn mức tablespace (tablespace Quotas): điều  
khiển số lượng không gian bảng ứng với mỗi user.  
- Không gian bảng mặc định (Default tablespace):  
để lưu trữ dữ liệu trong trường hợp user không chỉ  
rõ tablespace khi tạo segment.  
- Không gian bảng trung gian (Temporary  
Tablespace): chứa các extents cho việc SORT cho  
các câu lệnh của user.  
5
Các thành phần (tt)  
- Khoá tài khoản (Account Locking): Ngăn chặn  
tài khoản thâm nhập CSDL được thực hiện tự động  
hoặc người quản trị CSDL.  
- Hạn chế tài nguyên (Resource Limits): những  
giới hạn đưa ra cho mỗi user như: thời gian sử dụng  
CPU, truy xuất I/O, số lượng giao dịch được mở,…  
- DB schema: tập hợp các tables, views,  
procedures,… gắn với 1 user. Mỗi user chỉ có một  
schema cùng tên.  
6
II. Quản lý user  
1. Tạo USER  
Các bước thực hiện khi tạo mới user:  
1. Lựa chọn username và cơ chế xác nhận  
2. Chỉ ra các tablespaces để lưu dữ liệu  
3. Phân bổ hạn mức sử dụng trên từng  
tablespace  
4. Gán các default tablespace và temporary  
tablespace  
5. Phân quyền truy nhập (privileges, roles)  
7
Quản lý user (tt)  
Cú pháp:  
CREATE USER username  
IDENTIFIED {BY password | EXTERNALLY}  
[DEFAULT TABLESPACE tablespace]  
[TEMPORARY TABLESPACE tablespace]  
[QUOTA {integer [K | M ] | UNLIMITED}  
ON tablespace  
[QUOTA {integer [K | M ] | UNLIMITED }  
ON tablespace]  
...]  
8
Quản lý user (tt)  
Trong đó:  
Username: Tên truy nhập của user  
BY password: Xác định cơ chế xác nhận user với mật  
khẩu (password).  
EXTERNALLY: Xác định cơ chế xác nhận user bởi  
HĐH  
DEFAULT | TEMPORARY TABLESPACE: Xác định  
default/temporary tablespace cho user.  
QUOTA: Xác định không gian lưu trữ tối đa cấp cho  
user để lưu trữ các đối tượng trong tửng tablespace  
tương ứng.  
Từ khoá UNLIMITED cho biết không giới hạn không  
gian cấp phát.  
9
Quản lý user (tt)  
VD: Tạo người dùng có tên USERTEST, mật  
khẩu cùng tên, cấp 1M Quota trên tablespace  
USERS.  
CREATE USER userTest  
IDENTIFIED BY usertest  
DEFAULT TABLESPACE USERS  
TEMPORARY TABLESPACE TEMP  
QUOTA 1M ON USERS;  
10  
Quản lý user (tt)  
2. Thay đổi mật khẩu USER  
ALTER USER tênuser [ IDENTIFIED  
{BY password | EXTERNALLY}]  
VD: Đổi mật khẩu người dùng usertest thành  
123456  
ALTER USER userTest  
IDENTIFIED BY 123456  
11  
Quản lý user (tt)  
3. Thay đổi hạn mức Quota  
Cú pháp:  
ALTER USER user  
[DEFAULT TABLESPACE tablespace]  
[TEMPORARY TABLESPACE tablespace]  
[QUOTA {integer [K | M] | UNLIMITED } ON  
tablespace  
[QUOTA {integer [K | M] | UNLIMITED } ON  
tablespace ] ...  
]
12  
Quản lý user (tt)  
VD: Tăng hạn mức cho người dùng userTest lên  
2M.  
ALTER USER userTest QUOTA 2M  
ON USERS;  
4. Xoá người dùng  
DROP USER TênUser [CASCADE]  
- CASCADE: xoá tất cả các đối tượng trong  
schema trước khi xoá User.  
- Không thể xoá được các user hiện đang kết nối  
với Oracle Server.  
13  
Quản lý user (tt)  
5. Xem thông tin USER  
Ta có thể xem các thông tin liên quan tới user trong  
data dictionary DBA_USERS và DBA_TS_QUOTAS.  
VD1: Xem các thông tin user UserTest  
SELECT tablespace_name, blocks,  
max_blocks, bytes, max_bytes  
FROM dba_ts_quotas;  
WHERE username = 'UserTest';  
VD2: Xem các thông tin về Account của user  
SELECT username, account_status,  
temporary_tablespace  
FROM dba_users;  
14  
II. Quản lý hệ thống (System Privileges)  
1. Các quyền quản lý hệ thống  
Quản lý quyền hệ thống để thực hiện các công  
việc trong CSDL. Có khoảng 80 quyền, được chia là  
3 loại: table, session và tablespace.  
- Các quyền cho phép thực hiện các thao tác truy  
cập, tạo dung lượng lưu trữ trên hệ thống: CREATE  
SESSION, CREATE TABLESPACE.  
- Các quyền quản lý đối tượng: CREATE TABLE  
hoặc quản lý bất kỳ một schema nào: CREATE ANY  
TABLE.  
15  
Quản lý hệ thống (tt)  
Có thể điều khiển các quyền bằng GRANT hay  
REVOKE  
PHÂN LOẠI  
CÁC QUYỀN THÔNG DỤNG  
CREATE TABLE | TRIGGER | PROCEDURE  
CREATE ANY TABLE  
ALTER ANY TABLE  
TABLE  
DROP ANY TABLE  
SELECT ANY TABLE  
UPDATE ANY TABLE  
DELETE ANY TABLE  
CREATE SESSION  
ALTER SESSION  
SESSION  
RESTRICTED SESSION  
CREATE TABLESPACE  
ALTER TABLESPACE  
DROP TABLESPACE  
TABLESPACE  
UNLIMITED TABLESPACE  
Quản lý hệ thống (tt)  
2. Cấp quyền hệ thống  
GRANT {system_priv|role} [, {system_priv|role} ]...  
TO {user|role|PUBLIC} [, {user|role|PUBLIC} ]...  
[WITH ADMIN OPTION]  
Trong đó:  
- system_priv: chỉ định quyền hệ thống sử dụng  
- role: chỉ định tên Role được gán  
- PUBLIC: gán quyền hệ thống cho tất cả user  
WITH ADMIN OPTION: cho phép user được gán  
quyền có thể cấp quyền hay Role đó cho user khác.  
17  
Quản lý hệ thống (tt)  
VD1: Cấp quyền cho UserTest  
GRANT CREATE SESSION,  
CREATE TABLE TO UserTest;  
VD2: Cấp cho userTest có quyền của mình cho  
user khác  
GRANT CREATE SESSION,  
CREATE TABLE TO UserTest  
WITH ADMIN OPTION;  
18  
Quản lý hệ thống (tt)  
3. Thu hồi quyền hệ thống  
Câu lệnh REVOKE có thể lấy lại quyền đã được  
gán bằng lệnh GRANT.  
REVOKE {system_priv|role}  
[,{system_priv|role} ]...  
FROM {user|role|PUBLIC}  
[, {user|role|PUBLIC} ]...  
Ví dụ:  
REVOKE CREATE TABLE FROM UserTest;  
Thu hồi các quyền hệ thống có thể ảnh hưởng  
đến các đối tượng phụ thuộc như: view,  
procedure,…  
19  
Quản lý hệ thống (tt)  
4. Xem quyền hệ thống  
Các thông tin bao gồm:  
DBA_SYS_PRIVS: GRANTEE, PRIVILEGE,  
ADMIN OPTION  
SESSION_PRIVS: PRIVILEGE  
VD1: Xem các quyền hệ thống được gán cho  
user và role  
SELECT * FROM DBA_SYS_PRIVS;  
VD2: Xem các quyền hiện có của user  
SELECT * FROM session_privs;  
20  
Tải về để xem bản đầy đủ
pdf 33 trang yennguyen 15540 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 6: Quản trị người dùng - Nguyễn Thị Mỹ Dung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_quan_tri_co_so_du_lieu_chuong_6_quan_tri_nguoi.pdf