oracle的角色以及相关问题的解决方法

创建角色通过命令create role 命令创建角色。
1.安全性需求 为了创建角色,必须有create role的系统权限。
2.create role命令的例子 create role my
_role;也可以分配一个密码给该角色。下列创建一个称作一个my_role的角色,并且为了该角色分配my_pwd密码:
create role my_roleidentified by my_pwd;
一旦创建了角色,就可以授予其所需要的权限。下列将create any table 的权限授予 my_role,并且将表Scott.emp的select权限授予 my_role:
Grant create any table to my_role;
Grant select on Scott.emp to my_role;
改变角色
alter role 命令用来删除或者改变与角色相关联的密码。
安全性需求
为了使用alter role 命令来改变角色,必须已用with admin option子句授予该角色,或者必须有alter any role 的系统权限,如果要用alter role 命令的identified globally 参数将一个角色变为一个应用角色,则必须revoke对该角色的所有授权,除非任何对该用户的授权实际上改变了该角色。
alter role命令
下面是从my_role角色中删除密码的例子:
alter role my_role not identified;
下面是将my_role角色的密码改为my_new_pwd的例子:
alter role my_role identified by my_new_pwd;
删除角色
通过删除角色drop role命令删除角色。
安全性的需求
drop role命令的例子
下面删除MY_ROLE的角色
Drop role my_role;

错误以及方法
ora-01924 没有授予角色或者根本不存在该角色 试图使用set role命令来激活并没有权限操作的角色,或者该角色不存在,检查角色是否存在以及是否已经将该角色分配给该用户
ora-01925 超过了启动角色的最大数量 已经超过了参数 max_enabled_roles所定义的角色的最大数量
ora-01933 不能用来自角色的权限创建的存储对象 试图创建存储对象的用户没有直接授予对存储对象需要访问的数据库对象进行访问权限。请确保已经将直接授权分配给正在创建存储对象的用户。
ora-01934 检测到了环形的角色授权 试图创建一个环形的角色引用。不能将角色授予自身,或者授予已授权的角色。
ora-01935 遗漏了用户或者角色名 需要在命令中包含用户或者角色。检查用户授权自身,或者授予已授权的角色。
ora-01935 遗漏了用户或者角色名 需要在命令中包含用户或者角色,检查用户或者角色名是否实际存在。
ora-01936 不能在创建用户或者角色时指定拥有者 创建角色不能包含所有者的名字。删除对所有者的引用,然后重试该语句
ora-28031 超过了启动角色的最大数量 已经超过了参数max_enabled_roles定义的角色的最大数量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Troc_wangpeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值