程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle_控制用戶權限

oracle_控制用戶權限

編輯:Oracle教程

oracle_控制用戶權限




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];

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved