【发布时间】:2014-11-01 13:49:50
【问题描述】:
早上好,
我试图了解 Oracle 数据库角色和权限中的一件事:
所以,我正在尝试创建两个角色:程序员和经理。
程序员角色用户的想法是创建表并将其插入表中。 经理角色用户的想法是有权访问程序员角色权限,PLUS 更新记录。
我认为如果我将 Programmer 角色授予 Manager 角色,最后一个可以:
- 创建表(来自程序员角色);
- 插入表格(来自程序员角色);
- 更新表中的记录(权限设置为经理角色);
但是通过 SQL 开发人员,我将 Programmer 角色授予 Manager 角色,当我使用 Manager User 连接到数据库时,我找不到在 SYSTEM.A 上创建的表(例如)。
我是否需要明确授予经理角色也可以创建和插入?如果是这样,继承的意义何在?
解决方案
程序员角色:插入&&创建表权限; 经理角色:更新 && 选择任何表权限;
由于我的目标是让 Manager 用户继承 Programmer 角色权限,因此可以这样实现:
(设置角色和权限后):
- DBA > 角色 > 编辑经理角色 > 授予角色 > 选择程序员角色。
- 断开任何管理器会话,然后重新连接。
打开一个管理器 SQL 表并尝试创建一个表并选择、插入和更新它。您会看到 Manager 具有“程序员”角色的采用者权限。
【问题讨论】:
-
你理解正确。也许展示你如何授予权限。
-
@Haki,感谢您的回复。你想让我展示我如何设置权限吗?我使用 SQL 开发人员做所有事情,但我可以使用 SQL 来做。我知道我正确设置了角色和权限,因为我每次都在测试。然而,这个我认为存在的继承概念让我有点难过......
标签: oracle roles privileges