Tạo và phân quyền User trong Oracle Database

Tạo và phân quyền User trong Oracle Database

Đăng vào ngày 3 Tháng Chín 2011 lúc 22:21 bởi Duy Khánh Mục: IT, Oracle, SQL  ||  Tags: ,    Bình luận (3)

I - Database User Accounts:

Mỗi Database User Accounts gồm có:

  • Một username duy nhất: Username được vượt quá 30 bytes, không bao gồm các kí tự đặc biệt và phải bắt đầu bằng một chữ cái.
  • Một phương thức xác thực: Trên Oracle 11g hỗ trợ 3 kiểu xác thực người dùng là Password, External và Global.
  • Một Tablespace mặc định: Đây là nơi lưu trữ mặc định những object mà User tạo ra nếu không chỉ định rõ sẽ tạo trên Tablespace nào.
  • Một Tablespace tạm thời: Đây là nơi lưu trữ của những Objects tạm thời như là Sorts, Tables tạm….
  • Một User Profile: Bao gồm các thiết lập về Resouce và Password áp đặt lên tài khoản.
  • Một nhóm khởi đầu: Được dùng bởi Resource Manager.
  • Một trạng thái tài khoản: Thiết lập trên tham số account_status với các giá trị open, locked, và expired.

Shemas:

  • Là tập hợp toàn bộ Database Object được sở hữ bở một Database User. Ví dụ như: Tables, views, sequences, stored procedures, synonyms, indexes, cluster và database links.
  • Có tên trùng với User Account.

 

Các tài khoản quản trị được xác định sẵn:

Mặc định sau khi cài đặt Oracle Database thì ta có các Database Administrator (DBA) như là SYS, SYSTEM, DBSNMP,…

  • SYS: Có đầy đủ các quyền cũng như quyền cấp lệnh cho User khác (ADMIN OPTION). Có thể startup, shutdown và maintenance Database. Sở hữu Data Dictionary và Automatic Workload Repository (AWR).
  • SYSTEM: Có các quyền DBA, MGMT_USER và roles AQ_ADMINISTRATOR_ROLE.
  • DBSNMP: Có role OEM_MONITOR.
  • SYSMAN: Có các quyền MGMT_USER, RESOURCE và roles SELECT_CATALOG_ROLE.


Tạo một tài khoản mới:

Để tạo một tài khoản mới ta có thể sử dụng Enterprise Manager Database Control hoặc sử dụng dòng lệnh trong SQL Plus.

B1: Đăng nhập vào Enterprise Manager Database Control với quyền DBA.

B2: Click vào tab Server. Trong mục Security chọn Users.

oracle_user_account_01

B3: Click chọn Create.

oracle_user_account_02

B4: Cung cấp các thông tin khởi tạo cho tài khoản như hình bên dưới. Các thông tin thiết lập như mô tả ở trên.

oracle_user_account_03

Nhấn OK để tạo tài khoản mới, có kết quả như hình dưới đây.

oracle_user_account_04

 

Chúng ta có thể tạo tài khoản trên bằng dòng lệnh như sau:

CREATE USER "KHANH" PROFILE "DEFAULT" IDENTIFIED BY "password" DEFAULT TABLESPACE "INVENTORY" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK

 

II - Privileges (đặc quyền):

Trên Oracle Database, chúng ta có thể thực hiện phân quyền hạn cho một User. Các quyền hạn này được chia làm 2 loại:

  • System privileges: Nhóm quyền này cho phép User thực hiện các thay đổi trên Database Operations. Ví dụ như các quyền tạo một tablespace là một quyền thuộc nhóm System privilege. Có hơn 170 system privileges khác nhau. Trong đó nhiều system privileges bao gồm từ ANY (Có thể thao tác trên nhiều Object của các User khác nhau).
  • Object privilesges: Nhóm quyền cho phép người dùng thực thi các thay đổi trên Objects như: table, view, sequence, procedure,function,…Nếu chúng ta không thực hiện phân quyền thì User chỉ có thể thao tác trên các Object mà User đó sỡ hữu.


Thực hiện phân quyền trên User:

Để phân quyền cho User ta có thể sử dụng Enterprise Manager Database Control hoặc sử dụng dòng lệnh trong SQL Plus.

B1: Chọn User cần phân quyền và bấm Edit.

oracle_user_account_05

B2: Chọn System Privileges hoặc Object Privileges để phân quyền.

oracle_user_account_06

B3: Ví dụ mình tạo quyền thuộc nhóm System Privileges. Chọn vào System Privileges và chọn Edit List.

oracle_user_account_07

B4: Move các quyền vào mục Selected System Privileges từ Available System Privileges sau đó nhấn OK.

oracle_user_account_08

Các quyền đã được thêm như hình dưới đây. Ta có thể tick vào ô Admin Option nếu muốn User này có thể ủy quyền hạn đó cho những User khác.

oracle_user_account_09

Hoặc chúng ta có thể phân quyền như trên một cách nhanh chóng bằng dòng lệnh:

GRANT CREATE ANY TABLE TO "KHANH"
GRANT CREATE TABLESPACE TO "KHANH" WITH ADMIN OPTION

Ngô Duy Khánh – http://Khanh.Com.Vn

Bình luận (3) -

Ngadoan
Ngadoan
18/12/2012 8:31:17 SA #

hi all!
pls help me.
minh tao user de minh imp database,chuyen doi,database nay sang database kia,
minh ,cai oralce database 11g.cai va minh tao client connect may server ok,nhung khi tao user,de imp database thi ,thong bao,not connect,

cau lenh create user,
creat user dba_vy identified by dba_vy; minh nhan enter thi thong bao not connect.xin ai biet help minh voi

Josef Sanders
Josef Sanders
25/04/2013 6:25:55 CH #

I  in essence   propose   the  to say  I 'm beginner   by way of  weblog  and here  extra   darling   the actual   website.  Almost all   good  Im planing to bookmark to the   web site . You  decidedly  have exceeding   well crafted  information . Bless  the job   on the part of divvying  conscious   with the aid of  us the  web presence   document .

asd
asd
06/10/2013 7:49:50 SA #

bạn ơi, mình không vào được database control, khí bấm vào thì trình duyệt web ko dc, nó cứ kêu reload  mãi

Nghe nhạc cho vui

Ghi Chú

+ command "netstat -ano": IPs access

+ Restore dữ liệu trên SQLServer bằng dòng lệnh

RESTORE DATABASE db_name
FROM DISK = 'E:\db.BAK'
WITH REPLACE

+ Cover từ VB.NET sang C#

http://developerfusion.com/tools/convert/vb-to-csharp/

Certifications