我正在尝试允许其他用户访问我自己的数据库架构。我知道如何在我自己的架构下向用户授予对单个表的权限,但我希望这样做,以便用户可以在我的架构下随时创建和编辑表。
答案 0 :(得分:2)
这是一个坏主意。现在继续阅读。
没有任何方法可以做到这一点。超级用户(具有CREATE ANY,ALTER ANY等特权的帐户)可以执行此操作,但这是因为他们具有对任何模式的权限,而不仅仅是您的权限。
这样做的原因仅仅是Oracle的安全模型在schema.object
级别上起作用,并且没有人提出在schema
级别上引入特权的令人信服的商业理由。 Oracle的许多新功能选择是由付费客户想要什么或Oracle认为可能吸引新的付费客户驱动的。
因此无法完成,因为从根本上说,几乎没有人愿意做您想做的事情。而且没人愿意这样做,因为这通常是一个坏主意。控制我们的模式,对我们的数据和业务逻辑进行管理的能力是非常强大的。授予访问架构中所有对象的权限(尤其是创建或更改这些对象的权限)是一件应该很少且尽可能窄的事情。
但是,如果您坚定不移地学习这门课程,那么这里是如何做的示意图。
您可以选择使用角色,而不是指定用户,尤其是当您想让多个人在架构中创建混乱时。
玩得开心!