Oracle 11g學習筆記(四)

Oracle數據庫將權限分爲兩大類:系統權限和對象權限。系統權限是在系統級對數據庫進行存取和使用的機制。對象權限是指某一用戶對其餘用戶的表、視圖、序列、存儲過程、函數、包等的操做權限。
授予系統權限
GRANT命令的語法以下:
sql

GRANT system_privilege |role To user |role |PUBLIC [WITH ADMIN OPTION]

其中:
system_privilege:表示Oracle系統權限,系統權限是一組約定的保留字,若是可以建立表結構,則爲CREATE TABLE;
role:角色
user:具體保留字,或者是一系列的用戶。
PUBLIC:保留字,表明Oracle系統的全部所用戶;
WITH ADMIN OPTION:表示被受權者能夠將權限授予另外的用戶。數據庫

示例:函數

授予鏈接和開發系統權限
spa

grant connect,resource to wang

系統權限收回
REVOKE命令的語法
code

REVOKE system_privilege|role from user|role|public
REVOKE object_privilege|all on schema.object from user|role|public CASCADE CONSTRAINTS

其中
system_privilege:系統權限或角色;
object_privilege:對象的權限;
role:角色;
PUBLIC:保留字,表明Oracle系統全部的用戶 ;
CASCADE CONSTRITRAINTS:表示有關聯的權限也被撤銷。對象

若是數據庫管理員用GRANT命令給用戶A授予系統權限時帶有WITH ADMIN OPTION選項,則該用戶A有權將系統權限再次授予另外的用戶B。在這種狀況下,若是數據庫管理員用REVOKE命令撤銷A用戶的系統權限時,用戶B的系統受權仍然有效。開發

示例:table

若是用戶wang具備ALTER TABLESPACE的系統權限,則將給權限撤銷。
class

revoke alter tablespace from wang


從SCOTT用戶撤銷CREATE ANY INDEX的系統權限。
object

revoke CREATE ANY FROM SCOTT

授予對象權限
GRANT命令語法以下:

GRANT object_privilege|ALL column ON schema.object
TO user|role|public [WITH GRANT OPTION]|[WITH HIERARCHY OPTION]

其中,
object_privilege:表示對象的權限,能夠是ALTER,EXECUTE,INDEX,INSERTRREFERENCES,SELECT,UPDATE;
Role:角色名;
user:被授予的用戶名;
WITH ADMIN OPTION:表示被授予者可將系統權限授予其餘的用戶;
WITH HIERARCHY OPTION:在對象的字對象(在視圖上在創建視圖)上受權給用戶。
撤銷對象權限,REVOKE語句語法:

REVOKE object_privilege|ALL ON schema.object from user|role|public CASCADE CONSTRAINTS

其中:
object_privilege:表示對象的權限;
PUBLIC:保留字,表明Oracle系統的全部用戶;
CASLCADE CONSTRAINTS:表示有關聯的權限也被撤銷。

Oralce 11g用於存放用戶、系統權限、對象權限有關的數據字典。

相關文章
相關標籤/搜索