详谈Oracle对象特权说明

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

创新互联建站是一家专业提供淇滨企业网站建设,专注与网站设计、做网站HTML5、小程序制作等业务。10年已为淇滨众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

表对象特权

下面这些特权经常被授予,而且应该完全了解它们。
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之深入浅出

网站栏目:详谈Oracle对象特权说明
网页地址:http://www.hantingmc.com/qtweb/news38/554438.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联