4.關於數據庫權限
1.授予權限語法:
grant system_privilege1,... to user_name | public
public
將系統權限授予每個用戶,包括後創建的用戶
例子: grant create user,create table,create procedure,create view,create session to wang
2.一些常用權限
允許用戶登錄 : create/alter/drop session
例: grant create session to wangjie grant create session to wang
創建修改刪除用戶: create/alter/drop user
例: grant create user to wang
創建修改刪除表的權限 :create/alter/drop table
例: grant create table to wang
有了創建表的權限,但是並沒有指定保存表的空間大小,所以依然無法創建表
解決(建議使用第一種)
1.授予
unlimited tablespace
無限表空間
2.在quotas選項卡中指定users表空間大小
創建修改刪除 序列: create/alter/drop sequence
例: grant create sequence to wang
創建修改刪除 視圖 :create/alter/drop view
例: grant create view to wang
創建修改刪除函數和存儲過程,沒有專門的創建函數的權限:create/alter/drop procedure
例:grant create procedure to wang
3.角色權限
1. 角色權限 實質就是系統權限
2. 什麼是角色
將一系列權限捆綁,定義一個名字,即角色名
3. 創建角色
create role role1;
語法: create role role_name
4.爲角色授權限
grant create user,create table,create procedure,create view,create session to role1;
語法: grant system_privilege1,... to role_name
5.爲用戶授予角色
grant role1 to wang; grant role1 to public
語法: grant role_name to user_name | public
6. 刪除角色
語法: drop role role_name
7. 注意:
一個用戶可以被授予多個角色
4.對象權限
1.什麼是對象
數據庫中創建的數據庫對象
表,索引,序列,觸發器,函數,存儲過程,視圖
2. 什麼是對象權限
對數據庫中對象的操作權限就是對象權限
3. 爲什麼需要對象權限
數據庫對象擁有者爲其他用戶賦予操作此對象的權限
分配後其他用戶能夠操作此數據庫對象
誰創建了對象,誰就擁有該對象的所有對象權限
4.注意:
1.並不是數據庫中的每個對象都可以授予上面的權限
2.誰創建了對象,誰就擁有該對象的所有對象權限,例子:scott創建了一個表,scott用戶可以對錶對象進行增刪改查
當一個用戶操縱裏一個用戶數據庫對象時,其語法爲: 用戶名.對象名
5.語法:
grant object_privilege1......... on object_name to user_name | public 【with grant option 】
grant select,insert,update,delete on books to wang;
with grant option
允許所分配的權限再次下放
要撤銷這個權限,要先撤銷權限,再重新授予一個不帶with grant option 的權限
5. 撤銷權限
1. 系統權限
語法:revoke system_privilege1,... from user_name | public
2. 撤銷角色: 撤銷角色意味着撤銷系統權限
revoke role1 from public revoke role1 from wang
語法:revoke role_name from user_name | public
3. 撤銷對象權限
語法:recoke object_privilege1......... on object_name from user_name | public
6.查詢指定角色中有哪些系統權限
select * from dba_sys_privs where grantee = 'CONNECT'; select * from dba_sys_privs where grantee = 'RESOURCE';
select * from dba_sys_privs where grantee = 'role1'
注意:角色名要大寫
7.創建一個用戶,和scott用戶權限相同
create user wangjie identified by root;
grant resource,connect to wangjie;
當爲用戶授予resource角色後,默認會添加unlimited tablespace權限
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.