Oracle:如何授予角色读取和创建视图权限?

Posted

技术标签:

【中文标题】Oracle:如何授予角色读取和创建视图权限?【英文标题】:Oracle: How to grant read and create Views privilege to a role? 【发布时间】:2017-06-13 08:47:31 【问题描述】:

如何授予角色读取和创建视图权限?

以下是我已完成的步骤:

    授予角色“CUSTOM_ROLE”的声明:

    将 MY_VIEW_1 上的选择授予 CUSTOM_ROLE;

    将角色分配给用户 ID:

    将 CUSTOM_ROLE 授予 USERID_123;

错误:

01924. 00000 -  "role '%s' not granted or does not exist"

*Cause:    Either the role was not granted to the user, or the role did not exist.

*Action:   Create the role or grant the role to the user and retry
           the operation.

请帮忙。谢谢。

【问题讨论】:

【参考方案1】:

在授予角色之前创建角色。消息说该角色不存在。

我建议您使用以下方法检查角色是否存在:

  select role from dba_roles where role = 'CUSTOM_ROLE';

如果此查询不会返回任何行,则使用

 CREATE ROLE custom_role;

创建它。

看这个:

https://www.techonthenet.com/oracle/roles.php

详情

【讨论】:

以上是关于Oracle:如何授予角色读取和创建视图权限?的主要内容,如果未能解决你的问题,请参考以下文章

授予对 Teradata 中所有表和视图(包括 dbc)的选择和读取权限

Oracle创建只读用户,授予视图/同义词/会话权限

oracle 授予权限和收回权限 grant和revoke 以及角色的创建 删除

Oracle创建用户角色授权建表

Oracle创建用户角色授权建表

Oracle创建用户角色授权建表(转)