Oracle Grant 与 Revoke的用法

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

系统权限 是指是否被受权用户能够链接到数据库上,在数据库中能够进行哪些系统操做。服务器

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

举个例子来讲:select any table是系统权限,它表示能够查看任何表。而select on table1是实体权限,表示对表table1的查询权限。函数

2、见下下面的表spa


3、系统权限受权命令的使用
语法:
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;rest

4、实体权限管理
  实体权限是指某一用户对某一特定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。blog

      alter any cluster 修改任意簇的权限
  alter any index 修改任意索引的权限
  alter any role 修改任意角色的权限 alter any cluster
  alter any sequence 修改任意序列的权限
  alter any snapshot 修改任意快照的权限
  alter any table 修改任意表的权限
  alter any trigger 修改任意触发器的权限
  alter cluster 修改拥有簇的权限
  alter database 修改数据库的权限
  alter procedure 修改拥有的存储过程权限
  alter profile 修改资源限制简表的权限
  alter resource cost 设置佳话资源开销的权限
  alter rollback segment 修改回滚段的权限
  alter sequence 修改拥有的序列权限
  alter session 修改数据库会话的权限
  alter sytem 修改数据库服务器设置的权限
  alter table 修改拥有的表权限
  alter tablespace 修改表空间的权限
  alter user 修改用户的权限
  analyze 使用analyze命令分析数据库中任意的表、索引和簇
  audit any 为任意的数据库对象设置审计选项
  audit system 容许系统操做审计
  backup any table 备份任意表的权限
  become user 切换用户状态的权限
  commit any table 提交表的权限
  create any cluster 为任意用户建立簇的权限
  create any index 为任意用户建立索引的权限
  create any procedure 为任意用户建立存储过程的权限
  create any sequence 为任意用户建立序列的权限
  create any snapshot 为任意用户建立快照的权限
  create any synonym 为任意用户建立同义名的权限
  create any table 为任意用户建立表的权限
  create any trigger 为任意用户建立触发器的权限
  create any view 为任意用户建立视图的权限
  create cluster 为用户建立簇的权限
  create database link 为用户建立的权限
  create procedure 为用户建立存储过程的权限
  create profile 建立资源限制简表的权限
  create public database link 建立公共数据库链路的权限
  create public synonym 建立公共同义名的权限
  create role 建立角色的权限
  create rollback segment 建立回滚段的权限
  create session 建立会话的权限
  create sequence 为用户建立序列的权限
  create snapshot 为用户建立快照的权限
  create synonym 为用户建立同义名的权限
  create table 为用户建立表的权限
  create tablespace 建立表空间的权限
  create user 建立用户的权限
  create view 为用户建立视图的权限
  delete any table 删除任意表行的权限
  delete any view 删除任意视图行的权限
  delete snapshot 删除快照中行的权限
  delete table 为用户删除表行的权限
  delete view 为用户删除视图行的权限
  drop any cluster 删除任意簇的权限
  drop any index 删除任意索引的权限
  drop any procedure 删除任意存储过程的权限
  drop any role 删除任意角色的权限
  drop any sequence 删除任意序列的权限
  drop any snapshot 删除任意快照的权限
  drop any synonym 删除任意同义名的权限
  drop any table 删除任意表的权限
  drop any trigger 删除任意触发器的权限
  drop any view 删除任意视图的权限
  drop profile 删除资源限制简表的权限
  drop public cluster 删除公共簇的权限
  drop public database link 删除公共数据链路的权限
  drop public synonym 删除公共同义名的权限
  drop rollback segment 删除回滚段的权限
  drop tablespace 删除表空间的权限
  drop user 删除用户的权限
  execute any procedure 执行任意存储过程的权限
  execute function 执行存储函数的权限
  execute package 执行存储包的权限
  execute procedure 执行用户存储过程的权限
  force any transaction 管理未提交的任意事务的输出权限
  force transaction 管理未提交的用户事务的输出权限
  grant any privilege 授予任意系统特权的权限
  grant any role 授予任意角色的权限
  index table 给表加索引的权限
  insert any table 向任意表中插入行的权限
  insert snapshot 向快照中插入行的权限
  insert table 向用户表中插入行的权限
  insert view 向用户视图中插行的权限
  lock any table 给任意表加锁的权限
  manager tablespace 管理(备份可用性)表空间的权限
  references table 参考表的权限
  restricted session 建立有限制的数据库会话的权限
  select any sequence 使用任意序列的权限
  select any table 使用任意表的权限
  select snapshot 使用快照的权限
  select sequence 使用用户序列的权限
  select table 使用用户表的权限
  select view 使用视图的权限
  unlimited tablespace 对表空间大小不加限制的权限
  update any table 修改任意表中行的权限
  update snapshot 修改快照中行的权限
  update table 修改用户表中的行的权限
  update view 修改视图中行的权限索引

相关文章
相关标签/搜索