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