详谈Oracle对象特权说明

数据库 Oracle
这里介绍Oracle对象特权使得被授予者可以以特定方式使用另一用户所拥有的模式对象。有些特权只适用于某些模式对象。

学习Oracle时,你可能会遇到Oracle对象特权问题,这里将介绍Oracle对象特权问题的解决方法,在这里拿出来和大家分享一下。Oracle对象特权使得被授予者可以以特定方式使用另一用户所拥有的模式对象。有些特权只适用于某些模式对象。例如INDEX特权只适用于表,而SELECT特权则适用于表、视图和序列。
1. 下面这些特权可以被个别授予,被组合在一个列表中授予,或借助关键字ALL被全部授予。
2. 在使用ALL关键字时需要特别小心。它可能会隐含地授予威力强大的特权

表对象特权

下面这些特权经常被授予,而且应该完全了解它们。
1. SELECT允许查询指定表
2. INSERT允许在指定表创建新行
3. UPDATE允许修改指定表的现有行
4. DELETE允许删除指定表的行
5. ALTER允许添加、修改或重命名指定表中的列,转移该表到另一个表空间,乃至重命名指定表。
6. DEBUG允许被授权者借助于一个调度程序访问指定表上的任意触发器中的PL/SQL代码
7. INDEX允许被授权者在指定表上创建新的索引
8. REFERENCES允许创建参考指定表的外部键约束

视图对象特权
1. SELECT查询指定视图
2. INSERT允许在指定视图创建新行
3. UPDATE允许修改指定视图的现有行
4. DELETE允许删除指定视图的行
5. DEBUG允许被授权者借助于一个调度程序访问指定视图上的任意触发器中的PL/SQL代码
6. REFERENCES允许创建参考指定视图的外部键约束

序列对象特权
1. SELECT允许访问当前值和下一个值(即CURRVAL和NEXTVAL)
2. ALTER允许修改指定序列的属性

存储过程、函数、过程、包和JAVA对象特权
1. DEBUG允许访问指定程序中所声明的所有公用与私有变量与类型如果对象是包,还允许访问包规范与主体允许在指定程序中放置断点
2. EXCUTE允许执行指定程序。如果对象是包,那么表规范中所声明的任意一个程序、变量、类型、油标或记录均允许访问

实例
1. 把CUSTOMERS表上的SELECT,INSERT,UPDATE和DELETE特权授予角色SALES_MANAGER
2. 如果把特权授予特殊用户PUBLIC,那么特权变成对当前与未来数据库所有用户均可访问。如下例将允许所有用户在CUSTOMERS表上SELECT。
3. 参数"WITH GRANT OPTION"允许被授与者继续把得到的Oracle对象特权授予其它用户。下例把sales拥有的表customers的SELECT权限授予sales_admin,并且同时允许sales_admin把该特权授予其它用户

当通过WITH GRANT OPTION参数获得的特权被取消时,该取消发生级联作用。例如Mary授予Zachary在表client上的select特权,同时Zachary又把该特权授予Rex。当Mary取消Zachary的特权时,Rex的特权也被取消。

当用户Mary同时从多个用户获得同一个特权,当其中一个用户的特权被取消时,Mary的特权不会被取消,直至授予Mary授权的所有用户均被取消该特权。以上介绍Oracle对象特权。

【编辑推荐】

  1. Oracle DB BUFFER宝典说明
  2. 你是否了解Oracle空闲数据块
  3. 全面讲解Oracle锁存器
  4. 浅谈Oracle Shared Pool
  5. Oracle COMMIT之深入浅出
责任编辑:佚名 来源: 博客园
相关推荐

2009-11-19 11:12:13

Oracle LogM

2009-11-18 10:40:54

Oracle系统特权

2009-11-18 11:14:49

2009-12-18 10:17:21

Visual Stud

2009-11-20 14:02:42

Oracle远程磁盘镜

2009-11-16 17:03:20

Oracle优化CPU

2009-11-18 17:05:47

捕获Oracle SQ

2009-12-22 16:23:26

ADO.NET访问

2009-12-30 13:26:48

2012-08-14 14:33:24

Oracle账户管理器身份治理

2009-12-28 09:26:09

ADO对象

2009-11-20 10:40:33

Oracle SMON

2009-11-17 17:39:37

Oracle DB B

2009-06-24 14:26:33

JavaScript_

2011-05-17 14:29:29

Dijkstra

2009-11-17 15:13:28

PHP数组

2009-12-21 10:01:05

Oracle技术

2011-04-14 13:18:11

Oracle

2009-12-21 09:39:50

Oracle 存储过程

2010-10-28 10:54:46

oracle对象权限
点赞
收藏

51CTO技术栈公众号