oracle_控制用戶權限
①權 限
數據庫安全性:
系統安全性
數據安全性
系統權限: 對於數據庫的權限
對象權限: 操作數據庫對象的權限
1.系統權限
超過一百多種有效的權限
數據庫管理員具有高級權限以完成管理任務,例如:
創建新用戶
刪除用戶
刪除表
備份表
②創建用戶
DBA 使用 CREATE USER 語句創建用戶
CREATE USER user
IDENTIFIED BY password;
1.用戶的系統權限
用戶創建之後, DBA 會賦予用戶一些系統權限
GRANT privilege [, privilege...]
TO user [, user| role, PUBLIC...];
以應用程序開發者為例, 一般具有下列系統權限:
CREATE SESSION(創建會話)
CREATE TABLE(創建表)
CREATE SEQUENCE(創建序列)
CREATE VIEW(創建視圖)
CREATE PROCEDURE(創建過程)
③創建用戶表空間
用戶擁有create table權限之外,還需要分配相應的表空間才可開辟存儲空間用於創建的表
ALTER USER atguigu01(用戶) QUOTA UNLIMITED (無限制)
ON users(表空間)
④創建角色並賦予權限
1.創建角色
CREATE ROLE manager;
2.為角色賦予權限
GRANT create table, create view
TO manager;
3.將角色賦予用戶
GRANT manager TO DEHAAN, KOCHHAR;
⑤修改密碼
DBA 可以創建用戶和修改密碼
用戶本人可以使用 ALTER USER 語句修改密碼
ALTER USER scott
IDENTIFIED BY lion;
⑥對象權限
不同的對象具有不同的對象權限
對象的擁有者擁有所有權限
對象的擁有者可以向外分配權限
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION];
WITH GRANT OPTION和PUBLIC關鍵字
WITH GRANT OPTION 使用戶同樣具有分配權限的權利
向數據庫中所有用戶分配權限
⑦查詢權限分配情況
數據字典視圖 描述
ROLE_SYS_PRIVS 角色擁有的系統權限
ROLE_TAB_PRIVS 角色擁有的對象權限
USER_ROLE_PRIVS 用戶擁有的角色
USER_TAB_PRIVS_MADE 用戶分配的關於表對象權限
USER_TAB_PRIVS_RECD 用戶擁有的關於表對象權限
USER_COL_PRIVS_MADE 用戶分配的關於列的對象權限
USER_COL_PRIVS_RECD 用戶擁有的關於列的對象權限
USER_SYS_PRIVS 用戶擁有的系統權限
⑧收回對象權限
使用 REVOKE 語句收回權限
使用 WITH GRANT OPTION 子句所分配的權限同樣被收回
REVOKE {privilege [, privilege...]|ALL}
ON object
FROM {user[, user...]|role|PUBLIC}
[CASCADE CONSTRAINTS];