Oracle grant revoke 总结

一、权限是用户对一项功能的执行权力。在Oracle 中,根据系统管理方式不同,将权限分为系统权限 与实体权限 两类。

系统权限 是指是否被授权用户可以连接到数据库上,在数据库中可以进行哪些系统操作。

实体权限 是指用户对具体的模式实体 (schema)所拥有的权限。这样讲可以有些模糊。

举个例子来说:select any table是系统权限,它表示可以查看任何表。而select on table1是实体权限,表示对表table1的查询权限。 

二、见下下面的表


三、系统权限授权命令的使用 
语法: 
GRANT 权限名 TO 用户|角色|PUBLIC 
其中,PUBLIC表示将权限赋给数据库中所有的用户 
例:赋给用户USER1权限CREATE TABLE的授权命令如下: 
SQL>GRANT CREATE TABLE TO USER1; 
授权语句还可以增加WITH ADMIN OPTION选项,表示被授权的用户可以将它所得权限赋给其它用户,如: 
SQL>GRANT CREATE TABLE,CREATE VIEW TO USER1,USER2 WITH ADMIN OPTION; 
若要了解各用户所拥有的系统权限,可以查询数据字典USER_SYS_PRIVS、ROLE_SYS_PRIVS。 
若要回收权限,则使用REVOKE命令,如: 
SQL>REVOKE CREATE TABLE FROM USER1; 

四、实体权限管理 
  实体权限是指某一用户对某一特定schema对象的操作权限。 
1.实体权限分类 
  不同的实体类型有不同的实体权限,如下表 


2.实体权限的授命令 
语法如下: 
GRANT 实体权限名|ALL TO 用户|角色|PUBLIC 
其中,ALL表示实体的所有实体权限。 
如: 
SQL>GRANT SELECT ON BOOKS_QUTHORS TO USER1; 
以下语句用来查询表的实体权限的授权信息: 
SQL>SELECT * FROM USER_TAB_PRIVES 
若要回收实体权限,使用REVOKE,其语法如下: 
REVOKE 实体权限名|ALL ON 实体名 FROM 用户名|角色名|PUBLIC。 

猜你喜欢

转载自hck.iteye.com/blog/1189259