ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【role】角色不可循环赋予(ORA-01934)

【role】角色不可循环赋予(ORA-01934)

原创 Linux操作系统 作者:secooler 时间:2010-12-18 22:43:07 0 删除 编辑
角色(role)是系统权限(system privilege)和对象权限(object privilege)的集合。Oracle为了防止角色间的循环授予,自带了检测方法。演示在此。

1.清理测试环境
sys@ora10g> drop role role_secooler1;
sys@ora10g> drop role role_secooler2;
sys@ora10g> drop role role_secooler3;

2.准备测试环境
sys@ora10g> create role role_secooler1;

Role created.

sys@ora10g> create role role_secooler2;

Role created.

sys@ora10g> create role role_secooler3;

Role created.

3.测试角色的循环授予
sys@ora10g> grant role_secooler1 to role_secooler2;

Grant succeeded.

sys@ora10g> grant role_secooler2 to role_secooler3;

Grant succeeded.

sys@ora10g> grant role_secooler3 to role_secooler1;
grant role_secooler3 to role_secooler1
*
ERROR at line 1:
ORA-01934: circular role grant detected

OK,此时Oracle已经检测到系统中出现了角色循环授予的情况,在此以“ORA-01934”错误告知。
即便是在角色本身并未包含任何权限时这种循环授予也是被禁止的。

4.小结
在系统中使用角色(role)简化权限管理的同时一定要头脑清醒,不要引入过多的角色和过于复杂的角色。以简单、够用、方便为原则即可。

Good luck.

secooler
10.12.18

-- The End --

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/519536/viewspace-682180/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE 总监,阿里云MVP,北京大学理学硕士,恩墨学院创始人,教育专家,中国区 Cloudera 首位官方授权大数据讲师,金牌培训专家,BDA大数据联盟创始人,OCM联盟创始人,ACCUG创始人、ACOUG核心专家,Blogger。

注册时间:2008-03-16

  • 博文量
    1601
  • 访问量
    8477067