標籤:使用者控制 技術 情況 bsp 基本 通過 就是 查看 str
一、概述
許可權的分類:
系統許可權: 對於資料庫的許可權
對象許可權: 操作資料庫對象的許可權
基本上,許可權的控制和之前介紹的管理主控台是相通的,所以基本可以大概將此節看作圖形化操作的SQL語句操作版本
二、使用者管理
1.建立使用者
DBA使用以下文法建立:
CREATE USER user IDENTIFIED BY password;
// 普通使用者可以使用ALTER USER進行自己的密碼修改
切換成SYSTEM使用者,建立樣本如下:
CREATE USER cc01IDENTIFIED BY c123456789
當然,這個使用者通過命令列建立是不能登入的,沒有CREATE SESSION許可權,接下來介紹常用的許可權管理:
2.使用者權限管理
GRANT privilege [, privilege...] TO user [, user| role, PUBLIC...];
一般常用開發人員需要的許可權如下:(完整許可權也可以通過管理主控台查看瞭解)
樣本:
GRANT CREATE SESSION,CREATE TABLETO cc01
這樣,使用者就有許可權建立表了,不過由於預設沒有給資料表空間,還需要給予資料表空間才能成功建表
3.建立使用者資料表空間
ALTER USER atguigu01 QUOTA UNLIMITED ON users
樣本:
ALTER USER atguigu01 QUOTA 5MON users
三、角色管理
1.角色是什麼
角色是對一部分許可權的封裝,使用圖示如下:
2.建立角色
CREATE ROLE manager
給角色賦予許可權:
GRANT CREATE SESSION,CREATE TABLETO manager
給使用者授予角色:
GRANT manager TO cc01
四、對象管理
對象許可權概述(對象就是之前介紹的資料庫物件)
不同的對象具有不同的對象許可權
對象的擁有者擁有所有許可權
對象的擁有者可以向外分配許可權
授予對象許可權
GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION];
WITH GRANT OPTION 使使用者同樣具有分配許可權的權利(對應管理主控台中管理選項的勾與叉)
樣本:
GRANT selectON employeesTO sue, rich;
這樣就可以在別的角色進行查詢操作了:
SELECT * FROM SCOTT.employees
查詢許可權分配情況
使用這些視圖的樣本:
SELECT * FROM USER_SYS_PRIVS;
收回許可權
REVOKE {privilege [, privilege...]|ALL}ON objectFROM {user[, user...]|role|PUBLIC}[CASCADE CONSTRAINTS];
樣本:
REVOKE select, insertON departmentsFROM scott;
小結:
Oracle入門第六天(上)——使用者控制