
Bài th c hành s 2ự ố
C B N V QU N LÝ NG I DÙNGƠ Ả Ề Ả ƯỜ
Tóm t t n i dung:ắ ộ
Tablespace
Schema
User
Resource (tài nguyên)
Profile
I. Qu n Lý Userả
A. Lý thuy tế
1. Tablespace
M t CSDL Oracle đc chia thành nh ng đn v l u tr lu n lý đc g i là cácộ ượ ữ ơ ị ư ữ ậ ượ ọ
tablespace, nh m m c đích gom nhóm các c u trúc lu n lý có liên quan v i nhau.ằ ụ ấ ậ ớ
M i CSDL có 1 ho c nhi u các ỗ ặ ề tablespace. M i tablespace ch a 1 ho c nhi uỗ ứ ặ ề
các datafile. Datafile là các c u trúc v t lý t ng thích v i h đi u hành bênấ ậ ươ ớ ệ ề
d i, dùng đ l u tr d li u c a các c u trúc lu n lý trong ướ ể ư ữ ữ ệ ủ ấ ậ tablespace ch a nó.ứ
Kích th c t ng c ng c a các ướ ổ ộ ủ datafile chính là dung tích l u tr t ng c ng c aư ữ ổ ộ ủ
tablespace đó.
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

M t CSDL có 2 tablespace SYSTEM và USERS.ộ
Tablespace SYSTEM ch a 2 datafile là DATA1.ORA và DATA2.ORAứ
M t tablespace ch a 2 datafile.ộ ứ
Bên trong các datafile là các đi t ng, nh là table và index.ố ượ ư
Các đi t ng trong tablespace có th n m trên vài datafile.ố ượ ể ằ
Có 2 lo i tablespace:ạ
System tablespace:
-M i CSDL Oracle đu có 2 ọ ề system tablespace là SYSTEM và SYSAUX,
đc t o ra m t cách t đng.ượ ạ ộ ự ộ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

-Ch a thông tin v các ứ ề data dictionary views, các đnh nghĩa c a ị ủ stored
procedures, packages, và các database triggers d i d ng PL/SQLướ ạ
program units, SYSTEM rollback segment,…
-Không nên ch a d li u ng i dùng trong ứ ữ ệ ườ tablespace này m c dù có th .ặ ể
Non-system tablespace:
-Dùng đ ch a các lo i d li u còn l i, đc bi t là các d li u c a ng iể ứ ạ ữ ệ ạ ặ ệ ữ ệ ủ ườ
dùng.
M t cách phân lo i khác c a tablespace:ộ ạ ủ
Temporary tablespace: đc s d ng đ dành riêng cho các thao tác s p x pượ ử ụ ể ắ ế
d li u. ữ ệ
Permanent tablespace: Các tablespaces không ph i là ảtemporary tablespaces
đc g i là các ượ ọ permanent tablespaces. Các permanent tablespace đc sượ ử
d ng đ l u tr d li u trong database.ụ ể ư ữ ữ ệ
2. Schema
Schema là m t t p h p các đi t ng c s d li u (vd: table, view, index,…).ộ ậ ợ ố ượ ơ ở ữ ệ
M i ỗschema đc s h u b i m t user và có cùng tên v i user. ượ ở ữ ở ộ ớ
Không có m i quan h nào gi a ố ệ ữ schema và tablespace. Các đi t ng thu c 1ố ượ ộ
schema có th n m trên các ể ằ tablespace khác nhau và 1 tablespace có th ch a cácể ứ
đi t ng thu c nhi u ố ượ ộ ề schema khác nhau.
B. Th c hànhự
1. T o m i Userạ ớ
a. T o 1 user m i v i câu l nh sau:ạ ớ ớ ệ
CREATE USER salapati IDENTIFIED BY sammyy1;
User created.
Khi t o m i 1 user, ta có th quy đnh v default tablespace, temporary tablespace,ạ ớ ể ị ề
quota trên các tablespace, th i h n hi u l c c a password,… ngay trong câu l nhờ ạ ệ ự ủ ệ
t o user ho c s ch đnh c th sau này.ạ ặ ẽ ỉ ị ụ ể
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

b. Hi n th tablespace c a user v a m i t o:ể ị ủ ừ ớ ạ
SELECT default_tablespace, temporary_tablespace
FROM dba_users
WHERE username='SALAPATI';
DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
------------------- -------------------------
USERS TEMPTBS_01
Tuy trong câu l nh t o user ta không ch đnh default tablespace và temporaryệ ạ ỉ ị
tablespace, Oracle đã t gán các giá tr m c đnh cho user này.ự ị ặ ị
c.Log out ra kh i user hi n t i và log in b ng user v a m i t o, s nh n đcỏ ệ ạ ằ ừ ớ ạ ẽ ậ ượ
thông báo:
ERROR:
Ora-01045: user SALAPATI lacks CREATE SESSION privilege;
logon denied
Lý do: user v a m i t o ch a đc c p quy n CREATE SESSION, là quy n choừ ớ ạ ư ượ ấ ề ề
phép 1 user k t n i đn database. Đ user v a m i t o có th login đc, ta ph iế ố ế ể ừ ớ ạ ể ượ ả
c p quy n ấ ề CREATE SESSION.
Đăng nh p l i user ban đu và c p quy n cho user salapati nh sau:ậ ạ ầ ấ ề ư
GRANT CREATE SESSION TO salapati;
Grant succeeded.
d. Khi user m i đc t o ra, n u ta không c p các quy n t o cácớ ượ ạ ế ấ ề ạ
lo i object (table, index,…) thì user đó không th t o đc các object. Tùy thu cạ ể ạ ượ ộ
vào nhu c u c a t ng user, ta ch nên c p nh ng quy n c n thi t ch không nênầ ủ ừ ỉ ấ ữ ề ầ ế ứ
c p d .ấ ư
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

M t đi u ki n b t bu c khác đ user có th t o đc các object là ta ph i c pộ ề ệ ắ ộ ể ể ạ ượ ả ấ
quota cho user trên các tablespace t ng ng. M t user có th đc c p quota sươ ứ ộ ể ượ ấ ử
d ng trên 1 ho c nhi u tablespace. Quota có th limited ho c unlimited.ụ ặ ề ể ặ
Ví d sau cho th y khi user salapati t o m i 1 b ng s hi n th thông báo l i:ụ ấ ạ ớ ả ẽ ể ị ỗ
CONNECT salapati/sammyy1
Connected.
CREATE TABLE xyz (name VARCHAR2(30));
create table xyz (name varchar2(30))
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'USERS'
Đ kh c ph c l i trên, log in l i vào user sinh viên c a mình và th c hi n các câuể ắ ụ ỗ ạ ủ ự ệ
l nh sau:ệ
ALTER USER salapati
QUOTA 100M ON users;
User altered.
GRANT CREATE TABLE TO salapati;
Grant succeeded.
N u mu n user có th s d ng t i đa 1 tablespace nào đó thì dùng cú pháp sau:ế ố ể ử ụ ố
ALTER USER salapati
QUOTA UNLIMITED ON users;
e. Vì m t user có th đc c p quota trên nhi u tablespace khácộ ể ượ ấ ề
nhau, nên khi t o các đi t ng, user có th ch đnh c th tablespace mà mìnhạ ố ượ ể ỉ ị ụ ể
mu n t o đi t ng trên đó. N u không ch đnh thì h th ng s t đng t o trênố ạ ố ượ ế ỉ ị ệ ố ẽ ự ộ ạ
default tablespace c a user đó.ủ
CREATE TABLE abc (name varchar2(30)) TABLESPACE users;
f. N u mu n user có th t o object trên b t k tablespace nào thì dùng cú phápế ố ể ạ ấ ỳ
sau:
GRANT UNLIMITED TABLESPACE TO salapati;
Grant succeeded.
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

