17.1.USER TRONG DATABASE
17.1.1. User
và những thành phần liên quan
Security Domain
Quản
trị viên database định nghĩa các tên User. Qua đó, cho phép người sử dụng có thể
truy nhập vào database thông qua các tên user này. Security domain (bảo mật
theo miền) định nghĩa các quyền truy nhập nhất định trên các đối tượng trong
database và áp dụng các quyền này cho từng user có trong database.
Authentication
Mechanism (Cơ chế xác nhận)
Mỗi
user truy cập vào database đều trải qua bước xác nhận quyền truy nhập. Việc này
có thể được thực hiện bởi:
§ Database
§ Hệ điều
hành
§ Xác nhận
quyền thông qua đường mạng
Tuy
nhiên, trong tài liệu này ta chỉ quan tâm tới việc xác nhận bởi database.
Tablespace Quotas
(hạn mức tablespace)
Tablespace
quotas điều khiển số lượng table space ứng với khả năng lưu trữ vật lý được
phép đối với mỗi user trong database.
Default Tablespace
(tablespace mặc định)
Là
tablespace mặc định chứa các segments do tiến trình của user sử dụng để lưu trữ
dữ liệu trong trường hợp User không chỉ rõ tên tablespace ngay khi tạo segment.
Temporary
Tablespace (tablespace trung gian)
Temporary
tablespace là nơi Oracle server cấp phát các extents phục vụ cho công việc sắp
xếp (sort) mỗi khi thực hiện lệnh sắp xếp của User đó.
Account Locking
(khoá account)
Các
Accounts có thể bị khoá (locked) để ngăn cản việc user thâm nhập vào database.
Việc này có thể được thực hiện một cách tự động hoặc do điều khiển của quản trị
viên database.
Resource Limits (hạn
chế tài nguyên)
Là
những giới hạn được đưa ra cho mỗi user về các tài nguyên của hệ thống như: thời
gian sử dụng CPU, truy xuất vào ra I/O, số lượng các sessions được mở tối
đa,... Những giới hạn về tài nguyên sẽ được bàn kỹ trong chương sau.
17.1.2. Database
schema
Schema
được xem như một tập hợp các đối tượng như tables, views, clusters, procedures,
và packages, cùng có một quan hệ gắn liền với một user nào đó. Mỗi khi user
trong database được tạo, một schema tương ứng với user cũng sẽ được tạo lập với
cùng tên. Mỗi user chỉ có thể gắn liền với một schema có cùng tên, vì thế username
và schema nhiều khi có thể dùng lẫn thay cho nhau.
Hình
dưới đây sẽ liệt kê các đối tượng trong schema của mỗi users Oracle database.
17.2.QUẢN LÝ USER
17.2.1. Các
bước thực hiện khi tạo mới user
1.
Lựu chọn
username (tên user dùng để truy cập database) và cơ chế xác nhận đối với user
này.
2.
Chỉ ra các
tablespaces cho user dùng để lưu trữ 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.
Tạo user.
6. Phân
quyền truy nhập (privileges - quyền; roles - chức danh) cho user vừa tạo lập.
17.2.2. Tạo
mới user với cơ chế xác nhận bởi database
Với
cơ chế này, database sẽ sử dụng mật khẩu của user để xác nhận mỗi khi user kết
nối tới database. Mỗi mật khẩu của user, sẽ được Oracle server lưu trữ ngay
trong data dictionary và nó có thể kiểm tra rất dễ dàng mỗi khi User kết nối tới
database.
Cú
pháp:
CREATE USER user
IDENTIFIED
{BY password | EXTERNALLY}
[
DEFAULT TABLESPACE tablespace ]
[
TEMPORARY TABLESPACE tablespace ]
[
QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
[
QUOTA {integer [K | M ] | UNLIMITED } ON tablespace ] ...]
[
PASSWORD EXPIRE ]
[
ACCOUNT { LOCK | UNLOCK }]
[
PROFILE { profile | DEFAULT }]
Với:
user
tên truy nhập của
user
BY password xác định cơ chế xác nhận user bởi
database với mật khẩu truy nhập là password
EXTERNALLY
xác định cơ chế xác nhận
user bởi hệ điều hành
DEFAULT/TEMPORARY
TABLESPACE
xác định
default/temporary tablespace cho user
QUOTA xác định lượng không gian tối
đa cấp phát 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 hạn định số lượng không gian cấp phát.
PASSWORD
EXPIRE
bắt buộc user phải chỉ rõ mật khẩu
mỗi khi user thực hiện kết nối tới database thông qua SQL*PLUS (Phương thức này
chỉ có tác dụng khi user sử dụng cơ chế xác nhận bởi database)
ACCOUNT
LOCK/ UNLOCK
sử dụng tuỳ chọn này để lock/unlock
đỗi với mỗi user một cách tường minh (mặc định là UNLOCK).
PROFILE
dùng để điều khiển tài
nguyên của user.
Lưu ý:
Khi
thiết lập tuỳ chọn PASSWORD
EXPIRE trong lệnh tạo user, khi user sử dụng SQL*PLUS để kết nối
tới database, mỗi lần kết nối user lại phải nạp mới mật khẩu. Việc truy cập
thông thường sẽ nhận được thông báo:
ERROR:
ORA-28001: the account
has expired
Changing password
for PETER
Old password:
New password:
Retype new
password:
Password changed
Trong OEM ta có thể
thực hiện theo các bước sau
7.
Sử dụng Oracle
Security Manager.
8.
Chọn
User—>Create.
9.
Nhập vào thông
tin của trong phần General page.
10.
Chỉ rõ hạn mức sử
dụng trong phần Quotas.
11.
Bấm nút Create.
17.2.3. Thay
đổi thuộc tính của user
Ta
sử dụng câu lệnh ALTER
USER khi thực hiện các thay đổi user như mật khẩu, lock. Sử dụng
khi:
§ Thay đổi
mật khẩu khi user quên mật khẩu.
§ Lock/Unlock
đối với các account của user.
§ Thay đổi
mật khẩu theo từng phiên làm việc.
Cú
pháp:
ALTER USER user
[
IDENTIFIED {BY password | EXTERNALLY }]
[
PASSWORD EXPIRE]
[
ACCOUNT {LOCK | UNLOCK }] ;
Ví
dụ:
ALTER USER peter
IDENTIFIED
BY hisgrandpa
PASSWORD
EXPIRE;
Lưu
ý: khi user đã bị lock mà vẫn cố gắng kết nối tới database. Oracle server sẽ
phát sinh lỗi
ERROR:
ORA-28000: the
account is locked
Warning: You are
no longer connected to ORACLE.
Trong OEM ta có thể
thực hiện theo các bước sau
12.
Chạy Oracle
Security Manager.
13.
Chuyển tới nút
Users.
14.
Chọn username
tương ứng.
15.
Chọn
User—>Change Account Status.
16.
Thực hiện thay đổi
các trạng thái Unlock, Lock, or Expire.
17.
Nhập vào các
thông tin trong phần General page.
18.
Bấm nút Apply.
17.2.4. Thay
đổi hạn mức (quota) sử dụng tablespace
Trong
một số trường hợp, ta có thể thay đổi hạn mức sử dụng tablespace khi:
§ Các
tables của user đó không thể mở rộng để lưu trữ thêm được nữa
§ Các ứng
dụng được cải tiến đòi hỏi bổ sung thêm các tables hay indexes.
§ Các đối
tượng được tổ chức lại và được đặt trên nhiều tablespaces khác nhau.
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 ] ... ]
Ví
dụ:
ALTER USER peter
QUOTA
0 ON data01;
Trong OEM, ta thực
hiện theo các bước sau
19.
Chạy Oracle
Security Manager.
20.
Chuyển tới nút
Users.
21.
Chọn username
tương ứng.
22.
Nhập vào các
thông tin thích hợp trong phần Quotas.
23.
Bấm nút Apply.
17.2.5. Huỷ
User
Huỷ
bỏ user khỏi database
Cú
pháp:
DROP USER user
[CASCADE]
Ví
dụ:
DROP USER peter;
Hoặc
DROP USER peter
CASCADE;
Lưu
ý:
§ CASCADE sẽ huỷ tất cả các
đối tượng trong schema trước khi xoá User. Nó cần được chỉ rõ khi schema chứa
nhiều đối tượng.
§ Ta
không thể huỷ được các user hiện đang kết nối tới Oracle server.
17.3.THÔNG TIN VỀ USER
Ta
có thể lấy các thông tin liên quan tới user trong data dictionary DBA_USERS
và DBA_TS_QUOTAS.
Với
mỗi user, ta có thể xác định được các thông tin về hạn mức:
Ví
dụ:
SVRMGR>
SELECT tablespace_name, blocks, max_blocks,bytes,
max_bytes
2>
FROM dba_ts_quotas
3>
WHERE username = 'SCOTT';
TABLESPACE_NAME
BLOCKS MAX_BLOCKS BYTES MAX_BYTES
---------------
------- ---------- ------- -----------
DATA01
10 -1 20480 -1
1
row selected.
Giá
trị -1 trong cột MAX_BLOCKS và MAX_BYTES
cho biết cột này chưa được gán giá trị tường minh.
Hoặc
ta cũng có thể lấy các thông tin về Account của user
Ví
dụ:
SVRMGR>
SELECT username, account_status, temporary_tablespace
2>
FROM dba_users;
USERNAME
ACCOUNT_STATUS TEMPORARY_TABLESPACE
--------------- ---------------- --------------------
SYS
OPEN TEMP
SYSTEM
OPEN TEMP
DBSNMP
OPEN TEMP
SCOTT
OPEN TEMP
4
rows selected.
=============================
Website không bao giờ chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
HỌC ORACLE DATABASE CƠ BẢN TỪ A-Z - BÀI 17: QUẢN LÝ USER, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty